JSON - bu matn ko'rinishidagi ma'lumotlarni ifodalash uchun eng ommalashgan formatlardan biri. JSON, masalan, front-end va back-end o'rtasida ma'lumot almashinuvi uchun, konfiguratsiya fayllarida, o'yinlarda, matn muharrirlarida va boshqa ko'plab sohalarda ishlatiladi. Dasturchi yo'lini tanlasang, albatta JSON bilan to'qnashasan.
Sintaksis bilan tanishuv
JSON-da mavjud bo'lgan ma'lumot turlarini sanab o'tamiz:
Stringlar - qo'shtirnoq ichiga olingan har qanday belgilar:
"йцукен""125 + 42""G"Maxsus belgilar slash yordamida qochiriladi:
"birinchi qator\nikinchi qator""OAO \"Roga\/kopıta\""Sonlar, salbiy va kasriy sonlar ham. Qo'shtirnoqsiz:
18 -333 17.88 1.2e6Mantiqiy tur — true / false (qo'shtirnoqsiz).
null — “hech narsa” uchun standart belgilanma. Qo'shtirnoqlar kerak emas.
Array — bu tur boshqa har qanday turdagi qiymatlarni o'z ichiga olishi mumkin. Kvadrat qavslar bilan o'rab olinadi, elementlar vergul bilan ajratiladi:
["Java", "Rush", "JavaRush", "¯\_(ツ)_/¯"][true, true, false, true, false, false, false, false, false][[1, 2], [3, 999, 4, -5], [77]]Oxirgi misol — arraylar arrayi
Obyekt — murakkab tur, lekin eng ko'p ishlatilinadigan. U kalit:qiymat juftliklarini o'z ichiga oladi, bunda qiymat sifatida yuqorida sanab o'tilgan turlarning har qanday biri va boshqa obyektlar bo'lishi mumkin. Qavslari bilan o'rab olinadi, juftliklar vergul bilan ajratiladi:
{ "name": "Vova", "age": 7 }
Java-ob’ektini JSON ko'rinishida tasvirlash
Endi biron bir Java-ob’ektni olib, uni JSON ko'rinishida ko'rib chiqamiz.
Avvaliga classni tasvirlaymiz:
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;
}
}
Keyin bizning ob’ektni yaratamiz:
Human father = new Human("Петр", true, 31);
Human mather = new Human("Мария", false, 28);
mather.parents = new HashSet<>();
Human son = new Human("Павел", true, 7);
son.parents = Set.of(father, mather);
Hozir esa son ob'ektini JSON formatida iloji boricha aniq tasvirlashga harakat qilamiz:
"name" : "Павел",
"male" : true,
"age" : 7,
"parents" : [
{
"name" : "Петр",
"male" : true,
"age" : 31,
"parents" : null
},
{
"name" : "Мария",
"male" : false,
"age" : 28,
"parents" : null
}
]
}
JSON dagi izohlar
Bu yerda hammasi Java dagiga o'xshash: ikkita turdagi izohlar mavjud: // va /*...*/ . Ularning farqlari haqida eslatishim shart emas, deb o'ylayman?
GO TO FULL VERSION