Heim > Artikel > Web-Frontend > Im Folgenden finden Sie mehrere englische Frage- und Antworttitel, die auf der Grundlage des von Ihnen bereitgestellten Artikelinhalts generiert wurden: 1. Warum löst jQuery.parseJSON() den Fehler „Ungültiger JSON“ aus, wenn der JSON einfache Anführungszeichen mit Escapezeichen enthält? 2. Ist es erlaubt, einfache Anführungszeichen in einem JSO zu maskieren?
jQuery.parseJSON() kann JSON mit maskierten einfachen Anführungszeichen nicht analysieren. Gültige JSON-Zeichenfolge. Dies ist normal, da die JSON-Spezifikation nur das Maskieren von doppelten Anführungszeichen zulässt.
Wie unten gezeigt, zeigt das Diagramm der JSON-Zustandsmaschine, dass nur doppelte Anführungszeichen maskiert werden dürfen, einfache Anführungszeichen sind nicht zulässig.
[Bild: JSON State Machine]
Obwohl die Spezifikation das Escapen von einfachen Anführungszeichen nicht zulässt, akzeptieren einige JSON-Implementierungen diese möglicherweise. Beispielsweise erlaubt org.json für Java einfache Anführungszeichen, während json2.js, das von jQuery verwendet wird, der Spezifikation folgt und diese nicht zulässt.
jQuery.parseJSON versucht zunächst, den nativen JSON-Parser des Browsers oder json2.js zu verwenden, daher ist es nur so freizügig wie die zugrunde liegende Implementierung. Da json2.js der Spezifikation folgt, erlaubt jQuery auch keine einfachen Anführungszeichen.
parseJSON: function( data ) { ... // Attempt to parse using the native JSON parser first if ( window.JSON && window.JSON.parse ) { return window.JSON.parse( data ); } ... jQuery.error( "Invalid JSON: " + data ); },
Um Fehler beim Parsen von JSON mit jQuery.parse zu vermeiden, vermeiden Sie die Verwendung von einfachen Anführungszeichen in JSON-Strings oder wechseln Sie zu einer JSON-Bibliothek, die Implementierungen in einfache Anführungszeichen akzeptiert.
Das obige ist der detaillierte Inhalt vonIm Folgenden finden Sie mehrere englische Frage- und Antworttitel, die auf der Grundlage des von Ihnen bereitgestellten Artikelinhalts generiert wurden: 1. Warum löst jQuery.parseJSON() den Fehler „Ungültiger JSON“ aus, wenn der JSON einfache Anführungszeichen mit Escapezeichen enthält? 2. Ist es erlaubt, einfache Anführungszeichen in einem JSO zu maskieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!