Возможно ли иметь многострочные строки в 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'), в строке сохраняется только один символ.