(obwohl einige Parser toleranter sein kann) Da Sie „parent.child“ Punktnotation setzen und Sie muss nicht Elternteil ["Kind"], was auch gültig und nützlich ist, würde ich sagen, beide Möglichkeiten ist technisch akzeptabel. Die Parser sollten alles gut machen. Wenn Ihr Parser keine Anführungszeichen für Schlüssel benötigt, ist es wahrscheinlich besser, sie nicht zu setzen (spart Platz). Es macht Sinn, sie Strings zu nennen, weil sie das sind, und da die eckigen Klammern Ihnen die Möglichkeit geben, Werte für Schlüssel zu verwenden, ist es im Grunde genommen sinnvoll, sie nicht zu verwenden. In Json können Sie setzen ...
>var keyName = "someKey";
>var obj = {[keyName]:"someValue"};
>obj
Object {someKey: "someValue"}
ohne Probleme ganz gut, wenn Sie einen Wert für einen Schlüssel benötigen und keine zitiert wird nicht funktionieren, so dass, wenn es nicht funktioniert kann man nicht, so Sie werden nicht so "Sie brauchen keine Anführungszeichen auf Schlüsseln". Auch wenn es richtig ist zu sagen, dass sie technisch Strings sind. Logik und Verwendung argumentieren anders. Es gibt auch offiziell kein Objekt {"someKey": "someValue"} für obj in unserem Beispiel aus der Konsole eines beliebigen Browsers.
Die Anführungszeichen sind in vielen Situationen nicht einfacher, wie z. B. Konfigurationsdateien, die von Hand bearbeitet werden. Die unglückliche Sache, dass JSON als fast universelles Austauschformat verwendet (und missbraucht) wird, ist die Tatsache, dass es Java-spezifische Merkmale aufweist. – miguel
Wirklicher Grund - überprüfen Sie diese Antwort auch - http://stackoverflow.com/questions/4201441/is-there-any-practical-reason-to-use-quoted-strings-for-json-keys – TechMaze