Jason tem um grande JSON, mas é ilegível, então ele precisa fingir isso.
Especificação de formatação
O JSON tem 4 tipos diferentes:
- Números; Somente
0-9
- Cordas; As
"
cordas com aspas duplas escaparam com\
- Matrizes; Delimitado por
[]
, com itens separados por,
, os itens podem ser qualquer um desses tipos - Objetos; Delimitado por
{}
, formato ékey: value
onde chave é uma sequência e valor é um desses tipos
Espaçamento
- As matrizes devem ter exatamente um espaço após as vírgulas entre os itens
- Os objetos devem ter apenas um espaço entre a chave e o valor, após o
:
Indentação
- Cada nível de aninhamento é recuado 2 mais que o anterior
- Cada par de chave / valor de objeto está sempre em sua própria linha. Os objetos são recuados
- Uma matriz é recuada em várias linhas se contiver outra matriz ou objeto. Caso contrário, a matriz permanecerá em uma linha
Regras
- Built-ins que trivializam essa tarefa não são permitidos.
- Como sempre, brechas padrão não são permitidas
Exemplos
[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
O JSON está analisando os buildins permitidos?
—
PurkkaKoodari #
Os objetos / matrizes podem estar vazios? Ainda podemos imprimir um espaço após vírgulas em matrizes se elas se dividirem em várias linhas?
—
Martin Ender
@ MartinBüttner não, e sim #
—
Downgoat
@ Pietu1998 hm, eu vou dizer não
—
Downgoat
Os idiomas do analisador de idiomas são permitidos?
—
Mama Fun Roll