Чи можливо мати багаторядкові рядки в JSON?
Так. Я просто перевірив це зараз у своєму веб-переглядачі Firefox, натиснувши F12, клацнувши консоль і ввівши внизу екрана.
x={text:"hello\nworld"}
Об'єкт x щойно створений із рядка формату JSON, що містить багаторядковий рядок.
console.log(x.text)
hello
world
відображається x.text, що показує, що це багаторядковий рядок.
Ці два тести показують, що інтерпретатор Javascript Firefox із задоволенням створює та використовує JSON з багаторядковими рядками.
Більше тестів з JSON.stringify
і JSON.parse
показав, що інтерпретатор Javascript може перетворити об’єкт, що містить багаторядкові рядки, в JSON і знову проаналізувати його знову, без проблем.
У минулому я зберігав цілі твори Шекспіра як власність в об'єкті JSON, а потім надсилав їх через Інтернет без пошкоджень.
Приклад
Ось дворядковий рядок, введений у три рядки
x={text:"expert\
s\nex\
change"}
Ми можемо відобразити об’єкт
console.log(x)
давання
Object { text: "experts\nexchange" }
або рядок
console.log(x.text)
давання
experts
exchange
Кінець рядків у рядку є результатом використання \ n, а кілька вхідних рядків досягаються за допомогою просто \ в кінці рядка.
На практиці ви, можливо, захочете синхронізувати закінчення рядків з тими, що містяться в рядку, наприклад
x={text:"experts\n\
exchange"}
Довжина рядкових рядків
console.log("Hello\nWorld".length)
11
console.log("Hello World".length)
11
Зауважте, що рядок з новим рядком не довший, ніж рядок з пробілом. Незважаючи на те, що на клавіатурі було введено два символи ('\' та 'n'), у рядку зберігається лише один символ.