Estoy escribiendo un archivo JSON que sería leído por un programa Java. El fragmento es el siguiente ...
{
"testCases" :
{
"case.1" :
{
"scenario" : "this the case 1.",
"result" : "this is a very long line which is not easily readble.
so i would like to write it in multiple lines.
but, i do NOT require any new lines in the output.
I need to split the string value in this input file only.
such that I don't require to slide the horizontal scroll again and again while verifying the correctness of the statements.
the prev line, I have shown, without splitting just to give a feel of my problem"
}
}
}
Respuestas:
¡Mira las especificaciones ! La gramática de JSON carbón de producción puede tomar los siguientes valores:
"
-o-\
-o-carácter-control\"
\\
\/
\b
\f
\n
\r
\t
\u
cuatro dígitos hexadecimalesLas líneas nuevas son "caracteres de control", así que no, es posible que no tenga una línea nueva literal dentro de su cadena. Sin embargo, puede codificarlo utilizando cualquier combinación de
\n
y\r
necesite.La herramienta JSONLint confirma que su JSON no es válido.
Actualización: Y si desea escribir nuevas líneas dentro de su sintaxis JSON sin incluir nuevas líneas en los datos, entonces está doblemente fuera de suerte. Si bien JSON está diseñado para ser amigable para los humanos hasta cierto punto, sigue siendo datos y está tratando de aplicar un formato arbitrario a esos datos. Eso no es en absoluto de lo que se trata JSON.
fuente
No estoy seguro de su requisito exacto, pero una posible solución para mejorar la 'legibilidad' es almacenarlo como una matriz.
Volver a unirse cuando sea necesario con
fuente
No es una buena solución, pero puede probar la herramienta hjson . Enlace . Le permite escribir texto con varias líneas en el editor y luego lo convierte al formato JSON válido adecuado. Nota: agrega caracteres '\ n' para las nuevas líneas, pero puede simplemente eliminarlos en cualquier editor de texto con la función "Reemplazar todo ...".
PD: Debería haber un comentario a la pregunta, pero no tengo suficiente repositorio, lo siento.
fuente
Como pude entender, la pregunta no se trata de cómo pasar una cadena con símbolos de control,
json
sino de cómo almacenar y restaurar json en un archivo donde puede dividir una cadena con símbolos de control del editor.Si desea almacenar una cadena de varias líneas en un archivo, su archivo no almacenará el
json
objeto válido . Pero si usa susjson
archivos solo en su programa, entonces puede almacenar los datos como desee y eliminar todas las líneas nuevas del archivo manualmente cada vez que lo cargue en su programa y luego pase al analizador json.O, alternativamente, lo que sería mejor, puede hacer que sus
json
archivos de origen de datos editen una picadura como desee y luego elimine todas las líneas nuevas con alguna utilidad en eljson
archivo válido que usará su programa.fuente
Creo que depende del intérprete json que esté usando ... en javascript simple, podría usar terminadores de línea
fuente
a\ c
=>a c
.