JSON — ma’lumot almashish uchun butun internet tayangan format. Mobil ilova serverdan ma’lumot olganda, API javob qaytarganda — hammasi JSON orqali ketadi. Flutter ilovalarida JSON bilan ishlash — kundalik vazifa. Dart bu uchun dart:convert kutubxonasini beradi.
JSON (JavaScript Object Notation) — ma’lumotni matn ko’rinishida saqlash va uzatish uchun yengil format. Dart’da u
MapvaListtuzilmalariga aylantiriladi.
Kutubxonani ulash
JSON bilan ishlash uchun dart:convert ulanadi. U ikki asosiy funksiya beradi: jsonDecode va jsonEncode:
import 'dart:convert';
void main() {
String matn = '{"ism": "Farrux", "yosh": 26}';
var malumot = jsonDecode(matn);
print(malumot["ism"]);
print(malumot["yosh"]);
}
Farrux
26
jsonDecode JSON matnni Dart Map iga aylantirdi. Endi undagi qiymatlarga kalit orqali murojaat qilamiz. Bu serverdan kelgan ma’lumotni o’qishning asosiy usuli.
Dart obyektni JSON’ga aylantirish
Teskari amal — Dart Map ini JSON matnga aylantirish jsonEncode orqali bajariladi:
import 'dart:convert';
void main() {
var foydalanuvchi = {
"ism": "Master Sherkulov",
"yosh": 30,
"faol": true
};
String json = jsonEncode(foydalanuvchi);
print(json);
}
{"ism":"Master Sherkulov","yosh":30,"faol":true}
jsonEncode Map ni JSON matnga aylantirdi. Bu ma’lumotni serverga yuborishda ishlatiladi.
JSON va Dart turlari mosligi
JSON va Dart turlari qanday mos kelishini jadvalda ko’ramiz:
| JSON | Dart |
|---|---|
| object | Map |
| array | List |
| string | String |
| number | int / double |
| true / false | bool |
| null | null |
Ro’yxatli JSON
JSON ko’pincha bir necha obyektdan iborat ro’yxat bo’ladi — masalan, foydalanuvchilar ro’yxati:
import 'dart:convert';
void main() {
String matn = '[{"ism": "Farrux"}, {"ism": "Aziz"}]';
List malumot = jsonDecode(matn);
for (var f in malumot) {
print(f["ism"]);
}
}
Farrux
Aziz
jsonDecode JSON massivni Dart List iga aylantirdi, so’ng biz uni sikl bilan aylanib chiqdik. Bu API’dan kelgan ro’yxatlarni qayta ishlashning standart naqshidir.
Xulosa
Bu bo’limda dart:convert bilan jsonDecode (JSON → Dart) va jsonEncode (Dart → JSON), turlar mosligi va ro’yxatli JSON’ni ko’rib chiqdik. JSON — zamonaviy ilovalar orasidagi umumiy til. Keyingi darsda kutubxonalarga o’tamiz.