До массового распространяя 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. Более подробно по нему ты можешь почитать в документации.