例: 次のコードはJSON Specに対して有効ですか?
{
precision: "zip"
}
または、常に次の構文を使用する必要がありますか? (もしそうなら、なぜですか?)
{
"precision": "zip"
}
JSON仕様でこれについて何かを実際に見つけていません。ただし、例ではキーの周りに引用符を使用しています。
例: 次のコードはJSON Specに対して有効ですか?
{
precision: "zip"
}
または、常に次の構文を使用する必要がありますか? (もしそうなら、なぜですか?)
{
"precision": "zip"
}
JSON仕様でこれについて何かを実際に見つけていません。ただし、例ではキーの周りに引用符を使用しています。
はい、引用符が必要です。これは、より単純にするためであり、javascript の予約済みキーワード、つまり{for:"foo"}
.
文字列をキーとして使用するのは正しいです。以下は RFC 4627 からの抜粋です - The application/json Media Type for JavaScript Object Notation (JSON)
2.2. オブジェクト
オブジェクト構造は、0 個以上の名前と値のペア (またはメンバー) を囲む中かっこのペアとして表されます。 名前は文字列です。各名前の後にコロンを 1 つ付けて、名前と値を区切ります。単一のコンマは、値とそれに続く名前を区切ります。オブジェクト内の名前は一意である必要があります。
object = begin-object [ member *( value-separator member ) ] end-object
member = string name-separator value
[...]
2.5。ストリングス
文字列の表現は、プログラミング言語の C ファミリーで使用される規則に似ています。文字列は引用符で始まり、引用符で終わります。[...]
string = quotation-mark *char quotation-mark
quotation-mark = %x22 ; "
ここでRFC全体を読んでください。
2.2から。オブジェクト
オブジェクト構造は、0 個以上の名前と値のペア (またはメンバー) を囲む中かっこのペアとして表されます。名前は文字列です。
そして2.5から。ストリングス
文字列は引用符で始まり、引用符で終わります。
したがって、標準によれば、はい、常にキーを引用する必要があります(一部のパーサーはより寛容かもしれませんが)
はい、引用符は必須です。http://json.org/言います:
string
""
" chars "