Формат JSON
Данный формат используется для настроек программ, хранения и передачи данных.
Гайд
— Обычные виды данных
Целое число: 1
Дробное число: 1.5
Строка: "рандомный текст"
Boolean: true / false
Nullable: null
===
Строка оборачивается в двойные кавычки. Если внутри строки есть двойные кавычки или другой спец. символ, то его нужно экранировать, для этого перед ним нужно добавить символ "\". Экранирование - это преобразование специального символа в обычный, а обычного в специальный.
true / false означает (истина / ложь), (да / нет), (вкл / выкл).
null используется для обозначения отсутствия данных.
— Структуры данных
Обычные виды данных не существуют сами по себе, они помещаются в специальные виды данных, которые называются структурами.
Массив: [ "слово1", "слово2", "слово3" ]
Словарь: { "ключ1": "слово1", "ключ2": "слово2" }
===
Здесь в качестве значений использованы строки, но значения могут быть любых видов. Массив может состоять из целых чисел, строк, либо из тех и других.
Отличие словаря от массива в том, что у значений появляется название в виде ключа. Ключ должен быть строкой. После ключа идет символ ":" и значение.
Элементы в структурах должны быть отделены друг от друга запятой. После последнего элемента запятая не ставится.
Между элементами может быть пустое пространство. Элементы можно расположить в отдельных строках.
— Вложенные структуры
Структуры могут быть вложены друг в друга. Массив может состоять из других массивов и словарей. В словаре может находится другой словарь.
Массив массивов:
[
[ 1, 2, 3 ]
[ 4, 5, 6 ]
]
В данном примере массив состоит из двух массивов по три элемента в каждом.
Массив словарей:
[
{ "ключ1:" 1, "ключ2": 2 }
{ "ключ3:" 3, "ключ4": 4 }
]
В данном примере массив состоит из двух словарей по два элемента в каждом.
Вложенный словарь:
{
"ключ": {
"ключ1": 1,
"ключ2": 2
}
}
В данном примере в словаре находится другой словарь, который состоит из двух элементов.
— Вид хранения и передачи
Весь JSON может быть записан в одну строку без пустого пространства и без переносов. Либо JSON может быть записан с отступами и переносами.
Первый вариант используется для хранения и передачи данных, так как он более компактный. Второй вариант используется для чтения, он имеет понятную древовидную структуру.
— Корневая структура
JSON должен начинаться либо с массива либо со словаря, обычно это словарь.
— Пример JSON
Данный пример содержит все виды данных. Данные описывают человека.