Darsliklar Dart Json

Dart Dart Json

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 Map va List tuzilmalariga 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.