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.
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