1

どうしてこれ?

data-something='{property:1}'

動作しませんが、これ

data-something='{"property":1}'

します。それはありますか

4

1 に答える 1

5

JSONではオブジェクトキーを引用符で囲む必要があるためです。これはJSON仕様で義務付けられています; 引用符で囲まれていないキーを受け入れるということは、実装がJSONに準拠していないことを意味します。

この決定は、JavaScriptでの予約キーワードの問題を回避するために行われました。有効なJSONも有効なJavaScript式であることが望まれ、それを実現するには、やようなキーを引用する必要がreturnありfunctionます。JSON言語の仕様を簡素化するために、引用符で囲む必要のあるキーのリストを維持するのではなく、すべてのキーを引用符で囲む必要があり、それによってJSON文法が複雑になります(また、JSON言語をJavaScript言語よりも密接に結び付ける)それ以外の場合は必要になります)。

于 2013-03-04T22:03:02.437 に答える