私は2つのjsonフォームを持っています。jsonlint で検証してみました。最初にエラーを表示し、2番目のjsonに検証します。
間違ったjson:
[ "name": {} ]
真のjson:
{ "name": {} }
最初のものは間違っているのに、2番目のものは真実である理由を誰でも説明できますか?
[
配列初期化子を開始します。有効なエントリは、コメントで区切られた値です。例:
["one", 2, "three"]
{
オブジェクト初期化子を開始します。有効なエントリは、名前と値のペアです。各ペアは、二重引用符で囲まれた名前の後にコロン ( :
) と有効な値が続きます。例:
{"name": "value"}
{"name": {}}
{"name": ["one", 2, "three"]}
これらはすべて、Web サイトと標準でカバーされています。
最初の例は、値が期待される場所 (配列エントリ) で名前と値のペアを定義しようとしているため、無効です。