„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie gehe ich mit Zeilenumbrüchen in JSON-Daten richtig um?

Wie gehe ich mit Zeilenumbrüchen in JSON-Daten richtig um?

Veröffentlicht am 21.12.2024
Durchsuche:710

How to Properly Handle Newlines in JSON Data?

Umgang mit Zeilenumbrüchen in JSON

Bei der Arbeit mit JSON-Daten ist es wichtig, Zeilenumbrüche korrekt zu behandeln, um unerwartete Fehler zu vermeiden. Hier finden Sie eine ausführliche Erläuterung des Problems und seiner Lösung.

Das Problem

Bei der Verwendung von eval oder JSON.parse zum Parsen von JSON-Daten mit Zeilenumbrüchen können Fehler wie z als „nicht abgeschlossenes String-Literal“. Dies liegt daran, dass Zeilenumbrüche (\n und \r) in Zeichenfolgen in doppelten Anführungszeichen in JSON nicht erkannt werden.

Die Lösung

Um Zeilenumbrüche in JSON zu verarbeiten, benötigen Sie um sie mit einem doppelten Backslash (\\) vor dem Zeilenumbruchzeichen zu maskieren. Zum Beispiel:

{
  "count": 1,
  "stack": "sometext\\n\\n"
}

Durch das Escapen der Zeilenumbrüche bleiben diese in den JSON-Daten erhalten und verhindern, dass der Parser sie als Teil der Zeichenfolge interpretiert.

Beispiel

Hier ist eine aktualisierte Version Ihres Codes mit maskierten Zeilenumbrüchen:

var data = '{ "count": 1, "stack": "sometext\\n\\n" }';
var dataObj = eval('(' data ')');

Dieser Code analysiert nun die JSON-Daten erfolgreich, ohne dass Fehler im Zusammenhang mit Zeilenumbrüchen auftreten.

Neuestes Tutorial Mehr>

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