Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Формати Даних: JSON Та XML | Основи Розробки Бекенду
Spring Boot Backend

bookФормати Даних: 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?

question mark

Який формат використовується для представлення даних у вигляді пар key-value та є більш легким і зручним для передачі мережею?

Select the correct answer

question mark

Який із наведених фрагментів коду є коректним JSON?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 5

Запитати АІ

expand

Запитати АІ

ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

Suggested prompts:

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

bookФормати Даних: 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?

question mark

Який формат використовується для представлення даних у вигляді пар key-value та є більш легким і зручним для передачі мережею?

Select the correct answer

question mark

Який із наведених фрагментів коду є коректним JSON?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 1. Розділ 5
some-alt