Heim  >  Artikel  >  Web-Frontend  >  Warum schlägt jQuery.parseJSON bei JSON-Zeichenfolgen mit maskierten einfachen Anführungszeichen fehl?

Warum schlägt jQuery.parseJSON bei JSON-Zeichenfolgen mit maskierten einfachen Anführungszeichen fehl?

Susan Sarandon
Susan SarandonOriginal
2024-10-28 06:14:301009Durchsuche

Why Does jQuery.parseJSON Fail on JSON Strings with Escaped Single Quotes?

jQuery.parseJSON-Fehler: Ungültiger JSON aufgrund maskierter einfacher Anführungszeichen

Problembeschreibung

jQuery.parseJSON kann JSON-Zeichenfolgen mit maskierten einfachen Anführungszeichen (') nicht analysieren, was zu einem Fehler „Ungültiges JSON“ führt. Dieses Problem tritt auf, wenn JSON-Daten Werte mit einfachen Anführungszeichen enthalten, die ordnungsgemäß maskiert sind.

Antwort

Die offizielle JSON-Spezifikation erlaubt nur doppelte Anführungszeichen zum Einschließen von Zeichenfolgen, keine einfachen Anführungszeichen . Das Escapezeichen in einfache Anführungszeichen wird in der formalen JSON-Grammatik nicht unterstützt.

Diese Entwurfsentscheidung vereinfacht die JSON-Analyse und verhindert eine versehentliche Beendigung von Zeichenfolgen durch einfache Anführungszeichen. Daher verlässt sich jQuery.parseJSON auf die zugrunde liegenden JSON-Parser-Implementierungen, die sich normalerweise an diese Spezifikation halten und keine einfachen Anführungszeichen akzeptieren.

Zusätzliche Informationen

  • Douglas Crockford, der Erfinder von JSON, betont das Prinzip des Minimalismus und der Interoperabilität, das den Ausschluss von maskierten einfachen Anführungszeichen beeinflusst hat.
  • Einige Java-basierte JSON-Implementierungen, wie z. B. org.json, erlauben möglicherweise einfache Anführungszeichen. es wird jedoch nicht empfohlen, sich darauf zu verlassen.
  • Die nativen JSON-Parser des Browsers folgen ebenfalls dem Standard und akzeptieren keine maskierten einfachen Anführungszeichen.
  • jQuery.parseJSON verwendet diese nativen Parser oder eine JSON-Bibliothek (json2 .js), sofern verfügbar, und unterliegen damit den Beschränkungen für einfache Anführungszeichen.

Das obige ist der detaillierte Inhalt vonWarum schlägt jQuery.parseJSON bei JSON-Zeichenfolgen mit maskierten einfachen Anführungszeichen fehl?. 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