У Джейсона великий JSON, але він нечитабельний, тому йому потрібно його гарненько.
Форматування спец
JSON має 4 різні типи:
- Числа; Просто
0-9
- Струни; Подвійне цитування
"
рядків уникло\
- Масиви; Розмежовані
[]
предметами, розділеними,
предметами, можуть бути будь-якого з цих типів - Об'єкти; Розмежований
{}
формою, цеkey: value
ключ - це рядок, а значення - будь-який із цих типів
Пробіл
- Масиви повинні мати рівно один пробіл після коми між елементами
- Об'єкти повинні мати лише один пробіл між ключем і значенням після
:
Відступ
- Кожен рівень гніздування відступає на 2 більше, ніж попередній
- Кожна пара клавіш / значення об'єкта завжди знаходиться у власному рядку. Об'єкти відступні
- Масив відступає через кілька рядків, якщо він містить інший масив або об’єкт. Інакше масив залишається на одному рядку
Правила
- Вбудовані модулі , які банальність даної задачі НЕ допускається.
- Як завжди, стандартні лазівки заборонені
Приклади
[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
Є JSON розбору вбудованих команд дозволено?
—
PurkkaKoodari
Чи можуть об’єкти / масиви бути порожніми? Чи можемо ми ще надрукувати пробіл після коми в масивах, якщо вони розділені на кілька рядків?
—
Мартін Ендер
@ MartinBüttner ні, і так
—
Downgoat
@ Pietu1998 hm, я скажу ні
—
Downgoat
Чи дозволені мови розбору мов?
—
Mama Fun Roll