Цель курса: объяснить и показать, что такое JSON с примерами.
Обсуждаем: синтаксис, типы данных, чтение и запись данных в формате JSON, преобразование JSON в строку, доступ к полям JSON, Swagger, сравнение JSON и XML.
История JSON
Разработан Дугласом Крокфордом в начале 2000-х годов.
Название: JavaScript Object Notation (JSON).
Основан на подмножестве JavaScript, стандарт ECMA 262 (1999).
JSON широко используется для обмена данными между приложениями.
Человекочитаемый и машинночитаемый формат.
Структура JSON
Документ JSON может включать:
Текст, фигурные и квадратные скобки, двоеточия, запятые и двойные кавычки.
Объект JSON:
Формат данных ключ-значение, заключенный в фигурные скобки.
Массив JSON:
Упорядоченная коллекция значений, заключенных в квадратные скобки.
Типы данных в JSON
6 типов данных:
Строка (string)
Число (number)
Логическое значение (boolean)
null
Объект (object)
Массив (array)
Примеры:
Строка: "Hello"
Число: 123
Логическое: true/false
Null: null
Валидация JSON
Необходимость проверки объектов JSON для соблюдения свойств и ограничений.
JSON Schema: язык для определения структуры и семантики объектов JSON.
Пример валидации с использованием онлайн валидатора JSON Schema Lint.
Доступ к значениям объекта JSON
Два способа доступа:
Dot notation (через точку): author.name
Bracket notation (через скобки): author['name']
Итерация по объекту и массиву с использованием циклов.
Преобразование JSON
JSON.parse(): преобразует строку JSON в объект JavaScript.
JSON.stringify(): преобразует объект JavaScript в строку JSON.
Использование параметров reviver и replacer для кастомизации преобразования.
Сравнение JSON и XML
JSON: простой формат для обмена структурированными данными.
XML: более сложный с поддержкой метаданных и разметки документов.
Выбор между JSON и XML зависит от требований приложения.
Swagger
Инструменты для разработки API.
Позволяет описывать ресурсы, функции и запросы.
Упрощает создание и тестирование API.
Разработан командой SmartPair Software.
Предоставляет интерактивный интерфейс для работы с API.
Заключение
JSON и его взаимодействие с другими технологиями.
Важность понимания структуры данных для разработки RESTful API.