JSON to jeden z najpopularniejszych formatów tekstowej reprezentacji danych. JSON jest używany na przykład do przesyłania danych między frontendem a backendem, w plikach konfiguracyjnych, w grach, w edytorach tekstu iw wielu innych obszarach. Zostając programistą, na pewno spotkasz się z JSON.
Wprowadzenie do składni
Wymieńmy typy danych dostępne w JSON:
-
Ciągi to dowolne znaki ujęte w podwójne cudzysłowy:
"yutsuken""125+42""G"Znaki specjalne są poprzedzone ukośnikiem:
"pierwsza linia\ndruga linia""JSC \"Rogi\/kopyta\"" -
Liczby, w tym ujemne i rzeczywiste. Bez cytatów:
18 -333 17,88 1,2e6 -
Typ logiczny - prawda / fałsz (bez cudzysłowów).
-
null to standardowa notacja dla „nic”. Cytaty nie są potrzebne.
-
Tablica — Ten typ może zawierać wartości dowolnego innego typu. Otoczone nawiasami kwadratowymi, elementy oddzielone przecinkami:
["Java", "Rush", "CodeGym", "¯\_(ツ)_/¯"][prawda, prawda, fałsz, prawda, fałsz, fałsz, fałsz, fałsz, fałsz][[1, 2], [3, 999, 4, -5], [77]]Ostatnim przykładem jest tablica tablic
-
Obiekt jest typem złożonym, ale najczęściej używanym. Zawiera pary klucz:wartość, gdzie wartością może być dowolny z typów wymienionych powyżej, a także inne obiekty. Pary otoczone nawiasami klamrowymi są oddzielone przecinkami:
{ "name": "Vova", "age": 7 }
Reprezentowanie obiektu Java jako JSON
Teraz weźmy jakiś obiekt Java i spójrzmy na to jako JSON.
Opiszmy najpierw klasę:
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;
}
}
Następnie stwórzmy nasz obiekt:
Human father = new Human("Piotr", true, 31);
Human mather = new Human("Мария", false, 28);
mather.parents = new HashSet<>();
Human son = new Human("Павел", true, 7);
son.parents = Set.of(father, mather);
A teraz postaramy się przedstawić obiekt tak dokładnie, jak to możliwe.synw formacie JSON:
"imię" : "Pavel",
"mężczyzna" : prawda,
"wiek" : 7,
"rodzice" : [
{
"imię" : "Piotr",
"mężczyzna" : prawda,
"wiek" : 31,
"rodzice" : null
},
{
"imię" : "Mary",
"mężczyzna" : fałsz,
"wiek" : 28,
"rodzice" : null
}
]
}
Komentarze w formacie JSON
Wszystko tutaj jest dokładnie takie samo jak w Javie: są dwa rodzaje komentarzy: // i /*...*/ . Mam nadzieję, że nie muszę przypominać, czym się różnią?
GO TO FULL VERSION