Основы JSON и Swagger

Sep 11, 2024

Заметки по лекции о JSON и Swagger

Введение

  • Цель курса: объяснить и показать, что такое JSON с примерами.
  • Обсуждаем: синтаксис, типы данных, чтение и запись данных в формате JSON, преобразование JSON в строку, доступ к полям JSON, Swagger, сравнение JSON и XML.

История JSON

  • Разработан Дугласом Крокфордом в начале 2000-х годов.
  • Название: JavaScript Object Notation (JSON).
  • Основан на подмножестве JavaScript, стандарт ECMA 262 (1999).
  • JSON широко используется для обмена данными между приложениями.
  • Человекочитаемый и машинночитаемый формат.

Структура JSON

  • Документ JSON может включать:
    • Текст, фигурные и квадратные скобки, двоеточия, запятые и двойные кавычки.
  • Объект JSON:
    • Формат данных ключ-значение, заключенный в фигурные скобки.
  • Массив JSON:
    • Упорядоченная коллекция значений, заключенных в квадратные скобки.

Типы данных в JSON

  • 6 типов данных:
    1. Строка (string)
    2. Число (number)
    3. Логическое значение (boolean)
    4. null
    5. Объект (object)
    6. Массив (array)

Примеры:

  • Строка: "Hello"
  • Число: 123
  • Логическое: true/false
  • Null: null

Валидация JSON

  • Необходимость проверки объектов JSON для соблюдения свойств и ограничений.
  • JSON Schema: язык для определения структуры и семантики объектов JSON.
  • Пример валидации с использованием онлайн валидатора JSON Schema Lint.

Доступ к значениям объекта JSON

  • Два способа доступа:
    1. Dot notation (через точку): author.name
    2. 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.