Jason tiene un gran JSON pero es ilegible, por lo que necesita embellecerlo.
Especificaciones de formato
El JSON tiene 4 tipos diferentes:
- Números; Sólo
0-9
- Instrumentos de cuerda; Las
"
cadenas entre comillas dobles escaparon con\
- Matrices; Delimitado por
[]
, con elementos separados por,
, los elementos pueden ser cualquiera de estos tipos - Objetos; Delimitado por
{}
, el formato eskey: value
donde la clave es una cadena y el valor es cualquiera de estos tipos
Espaciado
- Las matrices deben tener exactamente un espacio después de las comas entre los elementos.
- Los objetos deben tener solo un espacio entre la clave y el valor, después de
:
Sangría
- Cada nivel de anidación tiene sangría 2 más que el anterior
- Cada par clave / valor de objeto siempre está en su propia línea. Los objetos están sangrados
- Una matriz tiene sangría en varias líneas si contiene otra matriz u objeto. De lo contrario, la matriz permanece en una línea
Reglas
- No se permiten los elementos integrados que trivializan esta tarea .
- Como siempre, las lagunas estándar no están permitidas
Ejemplos
[1,2,3]
[1, 2, 3]
{"a":1,"b":4}
{
"a": 1,
"b": 4
}
"foo"
"foo"
56
56
{"a":[{"b":1,"c":"foo"},{"d":[2,3,4,1], "a":["abc","def",{"d":{"f":[3,4]}}]}]}
{
"a": [
{
"b": 1,
"c": "foo"
},
{
"d": [2, 3, 4, 1],
"a": [
"abc",
"def",
{
"d": {
"f": [3, 4]
}
}
]
}
]
}
[2,["foo123 ' bar \" baz\\", [1,2,3]]]
[
2,
[
"foo123 ' bar \" baz\\",
[1, 2, 3]
]
]
[1,2,3,"4[4,5]"]
[1, 2, 3, "4[4,5]"]
[1,2,3,{"b":["{\"c\":[2,5,6]}",4,5]}]
[
1,
2,
3,
{
"b": ["{\"c\":[2,5,6]}", 4, 5]
}
]
1
¿ Están permitidos los análisis de JSON incorporados?
—
PurkkaKoodari
¿Pueden los objetos / matrices estar vacíos? ¿Todavía podemos imprimir un espacio después de las comas en matrices si se dividen en varias líneas?
—
Martin Ender
@ MartinBüttner no, y sí
—
Downgoat
@ Pietu1998 hm, voy a decir que no
—
Downgoat
¿Se permiten los idiomas del analizador de idiomas?
—
Mama Fun Roll