До масового поширення JavaScript був популярним формат зберігання та пересилання даних на основі XML.

Інформація про людину в цьому форматі могла виглядати таким чином:

<person firstName="Bill" lastName="Gates">
   <birthday day="12" month="10" year="1965">
   <address city="Radmond" state="Washington" street="Gates 1" zipCode="93122">
   <phone home="+123456789" work="+123456799">
</person>

Такий код майже цілком складався з тегів і був дуже зручним для парсингу програмами. Проте людям читати такий код було складно. Тому згодом його почав витісняти формат JSON, який створено на основі об'єктів JavaScript.

JSON так і розшифровується: JavaScript Object Notation.

Той самий об'єкт, якщо його записано у вигляді JSON, буде виглядати наступним чином:


{
  "firstName": "Bill",
  "lastName": "Gates",
  "birthday": {
   	"day": "12",
   	"month": "10",
   	"year": "1965" },
  "address": {
   	"city": "Radmond",
   	"state": "Washington",
   	"street": "Gates 1",
   	"zipCode": "93122"},
  "phone": {
    "home": "+123456789",
    "work": "+123456799"}
}

Такий запис складніший для комп'ютера, але простіший для людини. Зі зростанням популярності інтернету та JavaScript зокрема такий формат витіснив усі інші. До того ж, було написано швидкі бібліотеки-парсери JSON-даних.

У Java є бібліотеки, які можуть конвертувати Java-об'єкти до JSON-формату і назад. Тож якщо тобі як Java-програмісту нема про що турбуватися.

До того ж, із релізом JDK 7 у Java з'явився вбудований тип даних – JsonObject. Докладніше про нього ти можеш почитати в документації.