Формати Даних: JSON Та XML
У попередніх розділах було розглянуто, як працює HTTP і як він передає дані. У цьому розділі розглядаються формати такі як JSON та XML, які використовуються для передачі даних у тілі відповіді сервера або під час надсилання запиту на сервер.
Що таке JSON?
JSON використовується для передачі даних у форматі ключ-значення, що робить його дуже зручним для доступу до даних і прямого перетворення у об'єкт.
Цей формат підтримує масиви, об'єкти, а також примітивні значення такі як рядки, числа та булеві значення.
Формати даних у JSON
Для масивів у JSON використовується наступний синтаксис:
{
"courses": ["Math", "Science"]
}
Уся інформація розміщується у фігурних дужках, а назва ключа (наприклад, "courses") вказується у лапках. Значення, що відповідає цьому ключу, у даному випадку є масивом (["Math", "Science"]), який береться у квадратні дужки для позначення, що це масив.
Якщо потрібно передати прості примітивні типи (такі як числа, рядки або булеві значення) у форматі JSON, це можна зробити так:
{
"name": "John Doe",
"age": 30,
"isStudent": false
}
Можна передавати об'єкти у форматі JSON. Об'єкт представлений набором пар ключ-значення, які розміщені у фігурних дужках.
{
"address": {
"street": "123 Main St",
"city": "Anytown"
}
}
Кожен ключ є рядком і слідує за ним двокрапка з відповідним значенням, яке може бути іншим об'єктом, масивом, примітивним типом або null.
Передача JSON через HTTP
Під час передачі даних у форматі JSON через HTTP як запити, так і відповіді використовують заголовок Content-Type, встановлений у значення application/json. У запиті дані розміщуються в тілі запиту, а у відповіді — в тілі відповіді.
Структура запиту:
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
{
"name": "John Doe",
"age": 30
}
Структура відповіді:
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {
"userId": 12345
}
}
Серіалізація та десеріалізація JSON
Серіалізація — це перетворення об'єкта або структури даних у формат, придатний для передачі мережею або зберігання у файлі.
Десеріалізація — це зворотний процес, який перетворює дані з формату JSON назад в об'єкт або структуру даних для використання у коді.
Залежність з відео для інтеграції серіалізації та десеріалізації JSON. Це необхідно, щоб можна було використовувати клас ObjectMapper.
Потрібно додати цю залежність у файл pom.xml та оновити його.
Як використовувати Maven Repository
Що таке XML?
XML представляє дані за допомогою тегів, що утворюють ієрархічну структуру. Кожен елемент має як відкриваючий, так і закриваючий тег, а також може містити атрибути.
Синтаксис XML
<person>
<name>John Doe</name>
<age>30</age>
<isStudent>false</isStudent>
<courses>
<course>Math</course>
<course>Science</course>
</courses>
<address>
<street>123 Main St</street>
<city>Anytown</city>
</address>
</person>
Як видно, усе тут побудовано на тегах. Списки та об'єкти не мають суттєвих відмінностей, але якщо потрібно представити просте значення, назва тегу виступає ключем, а значення всередині тегу — це значення.
Передача XML через HTTP:
Для передачі XML даних заголовок Content-Type може бути встановлений як application/xml або text/xml. Дані також розміщуються у тілі запиту або відповіді.
Приклад запиту:
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/xml
<user>
<name>John Doe</name>
<age>30</age>
</user>
Приклад відповіді:
HTTP/1.1 200 OK
Content-Type: application/xml
<response>
<status>success</status>
<data>
<userId>12345</userId>
</data>
</response>
Серіалізація та десеріалізація XML
Залежність з відео для інтеграції серіалізації та десеріалізації XML. Це необхідно, щоб можна було використовувати клас XmlMapper.
Потрібно додати цю залежність у файл pom.xml та оновити його.
Підсумок
JSON є переважним вибором для сучасних веб-застосунків завдяки своїй легкості та простоті. Хоча XML може бути менш зручним для багатьох веб-сценаріїв, він може бути корисним у випадках, коли потрібна складна структура даних та строгі схеми.
1. Який формат використовується для представлення даних у вигляді пар key-value та є більш легким і зручним для передачі мережею?
2. Який із наведених фрагментів коду є коректним JSON?
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат
What are the main differences between JSON and XML?
Can you explain when to use JSON versus XML?
How does serialization and deserialization work in practice?
Awesome!
Completion rate improved to 3.45
Формати Даних: JSON Та XML
Свайпніть щоб показати меню
У попередніх розділах було розглянуто, як працює HTTP і як він передає дані. У цьому розділі розглядаються формати такі як JSON та XML, які використовуються для передачі даних у тілі відповіді сервера або під час надсилання запиту на сервер.
Що таке JSON?
JSON використовується для передачі даних у форматі ключ-значення, що робить його дуже зручним для доступу до даних і прямого перетворення у об'єкт.
Цей формат підтримує масиви, об'єкти, а також примітивні значення такі як рядки, числа та булеві значення.
Формати даних у JSON
Для масивів у JSON використовується наступний синтаксис:
{
"courses": ["Math", "Science"]
}
Уся інформація розміщується у фігурних дужках, а назва ключа (наприклад, "courses") вказується у лапках. Значення, що відповідає цьому ключу, у даному випадку є масивом (["Math", "Science"]), який береться у квадратні дужки для позначення, що це масив.
Якщо потрібно передати прості примітивні типи (такі як числа, рядки або булеві значення) у форматі JSON, це можна зробити так:
{
"name": "John Doe",
"age": 30,
"isStudent": false
}
Можна передавати об'єкти у форматі JSON. Об'єкт представлений набором пар ключ-значення, які розміщені у фігурних дужках.
{
"address": {
"street": "123 Main St",
"city": "Anytown"
}
}
Кожен ключ є рядком і слідує за ним двокрапка з відповідним значенням, яке може бути іншим об'єктом, масивом, примітивним типом або null.
Передача JSON через HTTP
Під час передачі даних у форматі JSON через HTTP як запити, так і відповіді використовують заголовок Content-Type, встановлений у значення application/json. У запиті дані розміщуються в тілі запиту, а у відповіді — в тілі відповіді.
Структура запиту:
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
{
"name": "John Doe",
"age": 30
}
Структура відповіді:
HTTP/1.1 200 OK
Content-Type: application/json
{
"status": "success",
"data": {
"userId": 12345
}
}
Серіалізація та десеріалізація JSON
Серіалізація — це перетворення об'єкта або структури даних у формат, придатний для передачі мережею або зберігання у файлі.
Десеріалізація — це зворотний процес, який перетворює дані з формату JSON назад в об'єкт або структуру даних для використання у коді.
Залежність з відео для інтеграції серіалізації та десеріалізації JSON. Це необхідно, щоб можна було використовувати клас ObjectMapper.
Потрібно додати цю залежність у файл pom.xml та оновити його.
Як використовувати Maven Repository
Що таке XML?
XML представляє дані за допомогою тегів, що утворюють ієрархічну структуру. Кожен елемент має як відкриваючий, так і закриваючий тег, а також може містити атрибути.
Синтаксис XML
<person>
<name>John Doe</name>
<age>30</age>
<isStudent>false</isStudent>
<courses>
<course>Math</course>
<course>Science</course>
</courses>
<address>
<street>123 Main St</street>
<city>Anytown</city>
</address>
</person>
Як видно, усе тут побудовано на тегах. Списки та об'єкти не мають суттєвих відмінностей, але якщо потрібно представити просте значення, назва тегу виступає ключем, а значення всередині тегу — це значення.
Передача XML через HTTP:
Для передачі XML даних заголовок Content-Type може бути встановлений як application/xml або text/xml. Дані також розміщуються у тілі запиту або відповіді.
Приклад запиту:
POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/xml
<user>
<name>John Doe</name>
<age>30</age>
</user>
Приклад відповіді:
HTTP/1.1 200 OK
Content-Type: application/xml
<response>
<status>success</status>
<data>
<userId>12345</userId>
</data>
</response>
Серіалізація та десеріалізація XML
Залежність з відео для інтеграції серіалізації та десеріалізації XML. Це необхідно, щоб можна було використовувати клас XmlMapper.
Потрібно додати цю залежність у файл pom.xml та оновити його.
Підсумок
JSON є переважним вибором для сучасних веб-застосунків завдяки своїй легкості та простоті. Хоча XML може бути менш зручним для багатьох веб-сценаріїв, він може бути корисним у випадках, коли потрібна складна структура даних та строгі схеми.
1. Який формат використовується для представлення даних у вигляді пар key-value та є більш легким і зручним для передачі мережею?
2. Який із наведених фрагментів коду є коректним JSON?
Дякуємо за ваш відгук!