До массового распространяя 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"}
}

Такая запись сложнее для компьютера, но проще для человека. С ростом популярности интернета и JavaScipt-а, в частности, такой формат вытеснил все остальные. Кроме того, были написаны быстрые библиотеки-парсеры JSON-данных.

В Java существуют библиотеки, которые могут конвертировать Java-объекты в JSON-формат и обратно. Так что тебе как Java-программисту не о чем беспокоиться.

Кроме того, с JDK 7 в Java появился встроенный тип данных — JsonObject. Более подробно по нему ты можешь почитать в документации.