JSON е един от най-популярните формати за представяне на данни като текст. Например JSON се използва за прехвърляне на данни между интерфейса и бекенда, в конфигурационни файлове, в игри, в текстови редактори и в много други области. Като програмист определено ще срещнете JSON.
Запознаване със синтаксиса
Нека изброим типовете данни, налични в JSON:
-
Низовете са всички знаци, затворени в двойни кавички:
"kwerty""125 + 42""G"Специалните знаци се екранират с наклонена черта:
"първи ред\nвтори ред""Той каза \"Здравей!\"" -
Числа, включително отрицателни и реални числа. Без кавички:
18 -333 17.88 1.2e6 -
Булевите стойности са true / false (без кавички).
-
null е стандартната стойност за представяне на "нищо". Тук не се използват кавички.
-
Масив – Този тип може да съдържа стойности от всяHowви други типове. Ограден е в квадратни скоби. Елементите му са разделени със запетаи:
["Код", "Фитнес", "КодФитнес", "¯\_(ツ)_/¯"][вярно, вярно, невярно, вярно, невярно, невярно, невярно, невярно, невярно][[1, 2], [3, 999, 4, -5], [77]]Последният пример е масив от масиви
-
Обект — Този сложен тип е най-често използваният. Той съдържа двойки ключ-стойност, където стойността може да бъде всеки от типовете, изброени по-горе, Howто и други обекти. Той е увит във фигурни скоби и двойките са разделени със запетаи:
{ "name": "Dale", "age": 7 }
Представяне на Java обект като JSON
Сега нека вземем няHowъв Java обект и да видим How изглежда като JSON.
Първо, нека дефинираме клас:
public class Human {
String name;
boolean male;
int age;
Set<Human> parents;
public Human(String name, boolean male, int age) {
this.name = name;
this.male = male;
this.age = age;
}
}
Сега нека създадем нашия обект:
Human father = new Human("Peter", true, 31);
Human mother = new Human("Mary", false, 28);
mother.parents = new HashSet<>();
Human son = new Human("Paul", true, 7);
son.parents = Set.of(father, mother);
А сега нека се опитаме да представимсинобект възможно най-точно във формат JSON:
"име" : "Пол",
"мъжки" : вярно,
"възраст" : 7,
"родители" : [
{
"име" : "Петър",
"мъжки" : вярно,
"възраст" : 31,
"родители" : null
},
{
"name" : "Мария",
"male" : false,
"age" : 28,
"parents" : null
}
]
}
Коментари в JSON
Тук всичко е абсолютно същото като в Java. Има два вида коментари: // и /*...*/. Надявам се, че няма нужда да ви напомням How се различават?