Jason a un gros JSON mais il est illisible, il a donc besoin de le raffiner.
Formatage Spec
Le JSON a 4 types différents:
- Nombres; Juste
0-9
- Cordes; Chaînes entre guillemets doubles
"
échappées avec\
- Tableaux; Délimité par
[]
, avec des éléments séparés par,
, les éléments peuvent être de n'importe lequel de ces types - Objets; Délimité par
{}
, format estkey: value
où clé est une chaîne et valeur est l'un de ces types
Espacement
- Les tableaux doivent avoir exactement un espace après les virgules entre les éléments
- Les objets doivent avoir un seul espace entre la clé et la valeur, après le
:
Échancrure
- Chaque niveau d'imbrication est en retrait de 2 de plus que le précédent
- Chaque paire clé / valeur d'objet est toujours sur sa propre ligne. Les objets sont en retrait
- Un tableau est mis en retrait sur plusieurs lignes s'il contient un autre tableau ou objet. Sinon, le tableau reste sur une seule ligne
Règles
- Les éléments intégrés qui banalisent cette tâche ne sont pas autorisés.
- Comme toujours, les failles standard sont interdites
Exemples
[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]
}
]