Ist es möglich, mehrzeilige Zeichenfolgen in JSON zu haben?
Ja. Ich habe dies jetzt mit meinem Firefox-Webbrowser getestet, indem ich F12 gedrückt, auf Konsole geklickt und am unteren Bildschirmrand eingegeben habe.
x={text:"hello\nworld"}
Objekt x wurde gerade aus einer Zeichenfolge im JSON-Format erstellt, die eine mehrzeilige Zeichenfolge enthält.
console.log(x.text)
hello
world
x.text wird angezeigt und zeigt an, dass es sich um eine mehrzeilige Zeichenfolge handelt.
Diese beiden Tests zeigen, dass der Javascript-Interpreter von Firefox gerne JSON mit mehrzeiligen Zeichenfolgen erstellt und verwendet.
Weitere Tests mit JSON.stringify
und JSON.parse
zeigten, dass der Javascript-Interpreter ein Objekt mit mehrzeiligen Zeichenfolgen in JSON konvertieren und problemlos wieder analysieren kann.
Ich habe in der Vergangenheit die gesamten Werke von Shakespeare als Eigentum in einem JSON-Objekt gespeichert und sie dann unverfälscht über das Internet gesendet.
Beispiel
Hier ist eine zweizeilige Zeichenfolge, die über drei Zeilen eingegeben wird
x={text:"expert\
s\nex\
change"}
Wir können das Objekt anzeigen
console.log(x)
geben
Object { text: "experts\nexchange" }
oder die Zeichenfolge
console.log(x.text)
geben
experts
exchange
Das Zeilenende in der Zeichenfolge ergibt sich aus der Verwendung von \ n, und die mehreren Eingabezeilen werden mit nur \ am Zeilenende erreicht.
In der Praxis möchten Sie möglicherweise Ihre Zeilenenden mit denen in der Zeichenfolge synchronisieren, z
x={text:"experts\n\
exchange"}
Mehrzeilige Stringlänge
console.log("Hello\nWorld".length)
11
console.log("Hello World".length)
11
Beachten Sie, dass die Zeichenfolge mit dem Zeilenumbruch nicht länger ist als die Zeichenfolge mit dem Leerzeichen. Obwohl zwei Zeichen auf der Tastatur eingegeben wurden ('\' und 'n'), wird nur ein Zeichen in der Zeichenfolge gespeichert.