Czy w JSON można mieć łańcuchy wieloliniowe?
Tak. Właśnie przetestowałem to teraz w przeglądarce Firefox, naciskając klawisz F12, klikając konsolę i pisząc na dole ekranu.
x={text:"hello\nworld"}
Obiekt x właśnie został utworzony z ciągu formatu JSON zawierającego ciąg wieloliniowy.
console.log(x.text)
hello
world
x wyświetla tekst pokazujący, że jest to ciąg wieloliniowy.
Te dwa testy pokazują, że interpreter Javascript z Firefoksa chętnie tworzy i używa JSON z ciągami wielowierszowymi.
Więcej testów z JSON.stringify
i JSON.parse
pokazało, że interpreter Javascript może przekonwertować obiekt zawierający łańcuchy wielowierszowe na JSON i przeanalizować go ponownie bez problemu.
W przeszłości przechowywałam całe dzieła Szekspira jako własność w obiekcie JSON, a następnie wysyłałam go przez Internet, bez zakłóceń.
Przykład
Oto ciąg dwóch linii wszedł na trzech liniach
x={text:"expert\
s\nex\
change"}
Możemy wyświetlić obiekt
console.log(x)
dając
Object { text: "experts\nexchange" }
lub ciąg
console.log(x.text)
dając
experts
exchange
końcu linii w wyniku ciąg z użyciem \ n a wiele linii wejściowych są osiągane przy użyciu tylko \ na końcu linii.
W praktyce możesz chcieć zsynchronizować zakończenia linii z tymi w łańcuchu, np.
x={text:"experts\n\
exchange"}
Linia Multi-String Długość
console.log("Hello\nWorld".length)
11
console.log("Hello World".length)
11
Zauważ, że napis z nowej linii jest nie dłuższy niż struny z przestrzenią. Mimo że na klawiaturze wpisano dwa znaki ("\" i "n"), tylko jeden znak jest zapisany w ciągu znaków.
Możliwy duplikat [? Jak obsługiwać nowe linie w JSON] (https://stackoverflow.com/questions/42068/how-do-i-handle-newlines-in-json) – Flimzy