JSON и XML: структура данных

JSON и XML: структура данных

🎯 Цель: Научиться работать с JSON и XML — форматами, которые используют API для передачи данных.

🌐 Что такое JSON и XML (запомнить)?

JSON (JavaScript Object Notation) — это текстовый формат обмена данными, основанный на синтаксисе объектов JavaScript. Он использует пары ключ-значение и поддерживает строки, числа, булевы значения, массивы, объекты и null.

XML (eXtensible Markup Language) — это расширяемый язык разметки, который структурирует данные с помощью тегов. Он строго типизирован и требует закрытия всех элементов.

Аналогия:
JSON — как записка другу: коротко и по делу.
XML — как официальный документ: много формальностей, но всё четко структурировано.

🍔 JSON: структура и примеры

Точное определение:
JSON — это легковесный формат передачи данных, который легко читается людьми и машинами. Он независим от языка программирования, но использует синтаксис, похожий на объекты JavaScript.

Пример структуры:

{
"name": "Анна",
"age": 28,
"isStudent": false,
"hobbies": ["чтение", "путешествия"],
"address": {
"city": "Москва",
"street": "Ленина, 15"
}
}

Особенности JSON:
- Ключи всегда в двойных кавычках: "name".
- Значения могут быть: строка ("Анна"), число (28), булево (false), массив ([]), объект ({}), null.
- Не допускает висячих запятых: после последнего элемента в объекте/массиве запятая ставится.

📜 XML: структура и примеры

Точное определение:
XML — это язык разметки, предназначенный для хранения и передачи структурированных данных. Он использует теги для определения элементов и атрибутов, а его структура описывается схемами (XSD).

Пример структуры:

<user>
<name>Анна</name>
<age>28</age>
<isStudent>false</isStudent>
<hobbies>
<hobby>чтение</hobby>
<hobby>путешествия</hobby>
</hobbies>
<address>
<city>Москва</city>
<street>Ленина, 15</street>
</address>
</user>

Особенности XML:
- Все теги должны быть закрыты: <tag></tag> или самозакрывающиеся <tag/>.
- Чувствителен к регистру: <Name> ≠ <name>.
- Поддерживает атрибуты: <book id="123">Гарри Поттер</book>.

Может содержать комментарии: <!-- Это комментарий -->.

🔍 JSON vs XML: основные различия

- JSON использует ключи и значения в фигурных скобках {} и квадратных скобках []. XML использует теги, атрибуты и строгое вложение элементов.

- JSON проще для понимания, особенно для новичков. XML сложнее из-за большого количества тегов.

- JSON занимает меньше места, так как в нём нет тегов. XML требует больше места из-за большого количества служебных символов.

- JSON использует встроенные типы данных, такие как числа, логические значения и т. д. XML требует преобразования всех данных в строки.

- JSON обычно используется в REST API и мобильных приложениях. XML используется в SOAP API, конфигурационных файлах и документах.

🚀 Какой формат выбрать?

Используйте JSON, если:
- Работаете с REST API.
- Нужна высокая скорость и минимальный объем данных.
- Хотите простоту чтения и написания.

Используйте XML, если:
- Интегрируетесь с SOAP или корпоративными системами.
- Требуется строгая валидация через XSD-схемы.
- Нужны комментарии или сложные структуры данных.

🌟 Практика. Можете сделать в любом текстовом редакторе.

Создайте JSON: Напишите объект для поста в блоге с полями: title, content, author, tags (массив).

{
"title": "Мой первый пост",
"content": "Привет, мир!",
"author": "Анна",
"tags": ["новости", "IT"]
}

Создайте XML: Опишите книгу с тегами: <title>, <author>, <year>, <genre>.

<book>
<title>Гарри Поттер</title>
<author>Джоан Роулинг</author>
<year>1997</year>
<genre>Фэнтези</genre>
</book>

📌 Итоги урока

JSON — простой и гибкий формат для REST API.
XML — строгий и детализированный, подходит для сложных систем.
Главное отличие — синтаксис и сферы применения.

🔥 Запомните:

Если API возвращает JSON, ищите данные в ключах: response.data.user.name.
Если XML — ищите в тегах: <user><name>Анна</name></user>.

P.S. Не пугайтесь, если XML кажется сложным. В 95% случаев вам хватит JSON 😉.

Тестовые вопросы

Для прохождения тестов необходимо войти в свой аккаунт или зарегистрироваться.


Комментарии


Комментарии

Пока нет комментариев.

Для сохранения прогресса и доступа ко всем функциям, пожалуйста, войдите в систему или зарегистрируйтесь.