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

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

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