¿Es posible tener cadenas de varias líneas en JSON?
Si. Acabo de probar esto ahora con mi navegador web Firefox presionando F12, haciendo clic en la consola y escribiendo en la parte inferior de la pantalla.
x={text:"hello\nworld"}
El objeto x acaba de crearse a partir de una cadena de formato JSON que contiene una cadena de varias líneas.
console.log(x.text)
hello
world
x.text se muestra mostrando que es una cadena de varias líneas.
Estas dos pruebas muestran que el intérprete Javascript de Firefox se complace en crear y usar JSON con cadenas multilínea.
Más pruebas con JSON.stringify
y JSON.parse
demostraron que el intérprete Javascript puede convertir un objeto que contiene cadenas multilínea a JSON y analizarlo nuevamente sin ningún problema.
En el pasado, almacené los trabajos completos de Shakespeare como una propiedad en un objeto JSON y luego los envié a través de Internet, sin corrupción.
Ejemplo
Aquí hay una cadena de dos líneas ingresada en tres líneas
x={text:"expert\
s\nex\
change"}
Podemos mostrar el objeto
console.log(x)
dando
Object { text: "experts\nexchange" }
o la cuerda
console.log(x.text)
dando
experts
exchange
El final de las líneas en la cadena resulta del uso de \ n y las múltiples líneas de entrada se logran usando solo \ al final de la línea.
En la práctica, es posible que desee sincronizar las terminaciones de línea con las de la cadena, p. Ej.
x={text:"experts\n\
exchange"}
Longitud de cadena de varias líneas
console.log("Hello\nWorld".length)
11
console.log("Hello World".length)
11
Tenga en cuenta que la cadena con la nueva línea no es más larga que la cadena con el espacio. Aunque se escribieron dos caracteres en el teclado ('\' y 'n'), solo se almacena un carácter en la cadena.