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?

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?

Linda Hamilton
Linda HamiltonOriginal
2024-11-01 13:34:02525Durchsuche

以下是几个根据你提供的文章内容生成的英文问答类标题:

1. Why does jQuery.parseJSON() throw an

jQuery.parseJSON löst aufgrund von maskierten einfachen Anführungszeichen in JSON den Fehler „Ungültiges JSON“ aus.

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.

JSON-Spezifikation

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]

JSON-Implementierung

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

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 );
},

Fazit

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn