If you’ve ever argued with your team about the way your JSON responses should be formatted, JSON:API can help you stop the bikeshedding and focus on what matters: your application. By following shared conventions, you can increase productivity, take advantage of generalized tooling and best practices. Clients built around JSON:API are able to take advantage ofits features around efficiently cachi
最近,仕事で使うことがあってたまたま気がついたのだが, PlantUML って JSON やYAML のデータを視覚化できるんだね。 やり方は簡単。たとえば { "firstName": "John", "lastName": "Smith", "isAlive": true, "age": 28, "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021-3100" }, "phoneNumbers": [ { "type": "home", "number": "212 555-1234" }, { "type": "office", "number": "646 555-4567" } ], "children": [], "spous

主にバックエンドのエンジニアとしてクックパッドマートの開発に携わっている塩出( @solt9029 )です。 美味しい食材をユーザにお届けするサービスであるクックパッドマートでは、日々街の販売店や地域の生産者が商品の登録を行っています。 商品を登録する際、販売者は消費期限をはじめとする様々な品質保証の情報を正確に入力する必要があります。 しかし、商品の種類や状態に応じて記載するべき品質保証の情報は異なるため、全項目が羅列されるフォームでは正確な入力が困難であり、販売者および商品の審査を行う社内の運用メンバに対して大きな負担をかけていました。 そこで、 JSON Schema を利用して複雑なフォームの出し分けを自動で制御し、またバックエンド側でのバリデーションも行うことが出来る仕組みを導入しました。 その結果、商品の種類や状態を選択するだけで、適切な品質保証の情報が自動的に入力され、必要な
JavaScriptのオブジェクトとJSONは見た目がほとんど変わらないので、 違いがよくわかっていなかったのですが、明確に違いがあるようなのでメモしておきます。JavaScriptのオブジェクト キーがクォーテーション無し & 文字列をダブルクォーテーションで囲む { id: 0, title: "title", description: "desc" } キーがクォーテーション無し & 文字列をシングルクォーテーションで囲む { id: 0, title: 'title', description: 'desc' } キーをクォーテーションで囲むことも出来るけど、囲まない方が推奨。 JSON キーをダブルクオーテーションで囲み、文字列をダブルクォーテーションで囲むのがJSON。JavaScriptのオブジェクトでもある。 { "id": 0, "title": "title", "
JSONとは JSONの文法 JSONのエンコーディング JSONの型 文字列("...") 数値(123, 12.3, 1.23e4) ヌル値(null) 真偽値(true, false) オブジェクト({...}) 配列([...]) JSONとはJavaScript Object Notation の略です。 RFC7158 と ECMA-404 1st edition では若干仕様の差異がありましたが、2017年12月に仕様の統一が行われ、RFC 8259, IETF STD 90, ECMA-404 2nd edition で再規定されました。 MIMEタイプは application/json。拡張子は .json。JavaScript のデータ定義文をベースとした、簡易的なデータ定義言語です。JavaScript だけではなく、Java,PHP,Ruby, Pyth
そう、JSON にはコメントを記載するための構文がないのです。近年では設定ファイルなどで利用されることも多い JSON ですが、コメントによる説明が不要なキーを名付けることは現実的ではありません。どうしよう、困ったな。 TL;DR コメントをつけるだけなら JSONC を使いましょう。 (2020-02-17追記) 各フォーマットの比較などに使えるデモページを公開してみました。 (2020-03-15追記) 続編を書きました。 どうしても JSON にコメントを書きたい 同じようなことに悩む先人は多いため、インターネット上には様々なアイデアが提案されています。 たとえば JSON Schema Core Draft 2019-091 では以下のような記述があります: 8.3. Comments With "$comment" This keyword reserves a location

Ruby JSON parse changes Hash keysruby 1.9.3p393 json (1.8.0) $ pry [1] pry(main)> require 'json' => true # hashをjsonへ変換 [2] pry(main)> json = {:key_a => "value2", :key_b => "value3"}.to_json => "{\"key_a\":\"value2\",\"key_b\":\"value3\"}" # 普通にparseしてもらうと keyはString [3] pry(main)> p JSON.parse(json) {"key_a"=>"value2", "key_b"=>"value3"} => {"key_a"=>"value2", "key_b"=>"value3"} # optionを指定すると、k
修正とお詫び コメントにて、JSON.stringifyがObject順序を保証しない、というご指摘を頂きました。誤った情報を掲載してしまったことをお詫び申し上げます。 JSON.stringify()によると、 注: 配列以外のオブジェクトのプロパティでは、特定の順番で文字列化されることは保証されていません。文字列化された同じオブジェクトの中でプロパティの順番に依存しないようにしてください。 とのことでしたので、JSON.stringifyをObjectに適用する方法ではなく、es6より実装された`Object.entries`を利用し、配列に適用する方法に修正しております。JavaScriptのObjectとはJavaScriptのObjectは、他の言語における、いわゆる「連想配列」です。 こうしたい const a = {"a":"a"}; const b = {"a":"a"
バージョン指定でいっつもこいつの違いを忘れてしまって、npm とか semver のドキュメントを探すところから始まるから自分用のメモ。 ^1.1.2 = 1.x ~1.1.2 = 1.1.x (追記 一応↑は間違っていないのだけど、厳密にいうとちょっと間違っていた) チルダ表記 ~ "明記したところ以下のバージョンがあがることのみ許容" ~1.1.2 = 1.1.2 <= version < 1.2.0 ~1.1 = 1.1.x ~1 = 1.x オリジナルの定義は、 Allows patch-level changes if a minor version is specified on the comparator. Allows minor-level changes if not. キャレット表記 ^ "一番左側にある、ゼロでないバージョニングは変えない (それ以下があがることは

1,Pythonのファイル出力Pythonで作成した出力結果をまとめるのに便利なJSONファイルの紹介です. 後ほど説明しますが,Pythonのリストや辞書形式をそのまま保存できるため, 入出力用の変換がほとんど必要ありません. また,入出力用のimport jsonが入っているので,別ライブラリのインストールは不要です. 2, リスト(list)と辞書(dict)について まず,リストと辞書のことを知っていないと辛いので,書いておきます. 「知ってるよ!」という人は飛ばしてください. 2.1 リスト リストは,C++で言うところの配列だと思ってください(自分の理解).Pythonでは,[]で初期化するとその変数はリストの扱いになります. 下の例では,変数aをリストとして初期化しています. for文の中では,リストの末尾にiの値を追加しています. 各要素へのアクセスは,[]内にリスト

RESTfulAPIのデータフォーマットなどで広く使われているJSON。IETFはJSON仕様「RFC 8259」を発表。従来の仕様をブラッシュアップしつつECMAの仕様との統一も実現した、事実上最後のJSON仕様になると見られる。 IETFからJSON(ジェイソン)の仕様を示した「RFC 8259」(TheJavaScript Object Notation (JSON) Data Interchange Format)が公開されました。 IETFにおけるJSON仕様は、これまで「RFC 7159」が参照されていましたが、RFC 8259の公開によりRFC 7159は廃止(Obsolete)となりました。 RFC 8259は、多数の実装と十分な運用実績を積み重ねたインターネット標準「STD 90」としても参照されます。 ECMAとの統一を実現。事実上最後のJSON仕様になると見られる

Unityでゲームを作るうえで、エネミーのウェーブをソース内に書くとグチャグチャになる...ので外部からその辺のパラメータを取得したい。 →「json使ったら?」と言われた。 →なんか聞いたことあるけどよく知らん ということでJSONのお勉強開始。 そもそもJSONって何? JSONは[JavaScript Object Notation」(JavaScriptオブジェクト表記法)。データ交換フォーマットのひとつです。 構文はJavaScriptのオブジェクト表記法をベースとしています。 JSONの基本構造は ・key(名前)/value(値)のペアの集まり(連想配列的なもの) ・値の順序付きリスト(他言語で言う配列) となっています。これらは普遍的なデータ構造なので他のプログラミング言語でもいずれかの形でサポートされているらしい。つまり一度作ったJSONファイルをいろんな言語で使いまわす
僕自身も僕の周辺もJSONをよく使います。でも、細かい点でけっこうミスをやらかしています(苦笑)。このエントリーで、JSONを使う上で注意すべきこと/間違いやすい点をすべて列挙します。 内容 兼チェックリスト: 仕様原典さえ読めば完璧(のはずだが) 数値の前にゼロを付けてはいけない 16進数表記も禁止だよ 数値の前にプラスを付けてはいけない 小数点からはじまる数値はダメ 用語法が違うよ:プロパティとメンバー メンバー名には常に文字列を使う 空文字列""もメンバー名に使える 配列要素はキッチリと並べよう 文字列を囲むには二重引用符だけ 文字列内のエスケープが微妙に違う 仕様にないエスケープは構文エラー undefinedもNaNもありません ラッパーオブジェクトは使わないのが吉 型システムとtypeofに関する注意 最後に 仕様原典さえ読めば完璧(のはずだが) JSONは、小さくて簡単な仕様
PowerShellではCmdletを介してJSONの利用ができます。型に当てずに解釈できるので、さくっと使うには本当に強力です。この点に関しては、jqやjqなどより触りやすいと思います。 さて、過去にもPowerShellでのJSONの操作について説明してきました。今回、PowerShell v5において、v4までで面倒だった点が改善されたので紹介しましょう。 https://tech.guitarrapc.com/entry/2013/03/04/210313 https://tech.guitarrapc.com/entry/2013/08/10/220803 v4までは改行を含んだJSON の読み取りには注意が必要だった v5 では改行を含んだJSON も直接読めるように サンプル まとめ v4までは改行を含んだJSON の読み取りには注意が必要だった 過去の記事でも説明しましたが

もはやjsonを利用するのがPowerShellでは最も楽な方法と思っています、今日この頃です。 以前はcsvでも楽だなーとか気の迷いがありましたが、 再利用するデータならjsonです。 ということで、今回はPowerShellでjson出力と読み込みです。 以前書いた、PowerShellでJSONを触ってみる(続き)も参考に。 JSONへの変換 とファイル書き出し これは以前も書いた通りです。 ConvertTo-Jsonを利用します。 [System.Net.IPAddress]::Any | ConvertTo-Json 出力されますね。 { "Address": 0, "AddressFamily": 2, "ScopeId": null, "IsIPv6Multicast": false, "IsIPv6LinkLocal": false, "IsIPv6SiteLocal":
よく訓練されたアップル信者、都元です。「JSONってなんとなくわかるけど、構造を読み取れる自信はないし、ましてや書ける気はまったくしない。」そんな人に贈るエントリーです。残念ながら、「13日の金曜日」や「WhyJapanese people!!」しか思い浮かばない人は、想定読者対象外ですのでお引き取りください。逆に、正確な定義が欲しい人はRFC 4627RFC 7159(アップデートされてました)をご確認ください。 「JSON」とは。 JSONとはJavaScript Object Notation の略で、要するに「JavaScriptの中でオブジェクトを記述する書式」のことです。と言われてもなんのことだか分からない人向けの説明なので安心してください。 JSONというのは「データを表現するための記法(≒文法)」です。シンプルなデータであれば、文法など気にせずにただ書けば問題ありません
JSON (JavaScript Object Notation)は、軽量のデータ交換フォーマットです。人間にとって読み書きが容易で、マシンにとっても簡単にパースや生成を行なえる形式です。JavaScriptプログラミング言語 (ECMA-262標準第3版 1999年12月)の一部をベースに作られています。 JSONは完全に言語から独立したテキスト形式ですが、C、C++、C#、Java、JavaScript、Perl、Python、その他多くのCファミリーの言語を使用するプログラマにとっては、馴染み深い規約が使われています。これらの性質が、 JSONを理想的なデータ交換言語にしています。 JSONは2つの構造を基にしています。 名前/値のペアの集まり。様々な言語で、これはオブジェクト、レコード、構造体、ディクショナリ、ハッシュテーブル、キーのあるリスト、連想配列として実現されています。
1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く