Einfache oder doppelte Anführungszeichen in jQuery.parseJSON
Bei Verwendung der parseJSON-Methode von jQuery können Benutzer Unterschiede im Verhalten feststellen, je nachdem, ob einfache oder doppelte Anführungszeichen verwendet werden Doppelte Anführungszeichen werden verwendet, um die JSON-Zeichenfolge einzuschließen. In diesem Artikel werden wir diese Unterschiede untersuchen.
Doppelte Anführungszeichen: Der Standardansatz
Gemäß dem JSON-Standard gelten doppelte Anführungszeichen als bevorzugte Methode zum Einschließen JSON-Strings. Dies ist auch bei der parseJSON-Methode von jQuery der Fall, die erwartet, dass JSON-Zeichenfolgen in doppelten Anführungszeichen stehen. Das folgende Beispiel veranschaulicht dies:
var obj1 = jQuery.parseJSON('{"orderedList": "true"}');
document.write("obj1 " obj1.orderedList); // Outputs "obj1 true"
Einfache Anführungszeichen: Ein nicht unterstütztes Format
Einfache Anführungszeichen gelten dagegen nicht als gültiges JSON-Zeichenfolgenformat. Daher führt die Verwendung von einfachen Anführungszeichen beim Aufruf von parseJSON zu einem Fehler. Das folgende Beispiel veranschaulicht dies:
var obj2 = jQuery.parseJSON("{'orderedList': 'true'}");
document.write("obj2 " obj2.orderedList); // Outputs "obj2 undefined"
Dieses Verhalten ist nicht spezifisch für jQuery. Es wurzelt vielmehr im JSON-Standard selbst, der die Verwendung von doppelten Anführungszeichen für Zeichenfolgenwerte vorschreibt. Daher ist es unabhängig vom verwendeten JavaScript-Toolkit wichtig, beim Arbeiten mit JSON-Strings doppelte Anführungszeichen zu verwenden.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3