jsonDecode
- Flutter kursu
- Orta seviye
- Ders 51/99
- 4 dk
jsonDecode ile JSON dizesini Map'e çevirmeyi öğrenirsin.
jsonDecode ile JSON'u çözmek
JSON, sunucudan gelen verinin en yaygın biçimidir. Dart'ta bir JSON dizesini jsonDecode ile bir Map'e çevirirsin. Bu fonksiyon dart:convert kütüphanesindedir.
import 'dart:convert';
const veri = '{"ad": "Ayşe", "yas": 28}';
final map = jsonDecode(veri);
print(map['ad']); // AyşeDönen nesne aslında Map<String, dynamic> türündedir; değerlerin türü çalışma anında belli olur.
dart:convert içe aktarma
jsonDecode kullanmak için dosyanın başına import 'dart:convert'; yazılır. Bu kütüphane Dart'ın standart parçasıdır, ek paket gerekmez.
import 'dart:convert';
void main() {
final s = '{"sehir": "İstanbul"}';
final m = jsonDecode(s) as Map<String, dynamic>;
print(m['sehir']); // İstanbul
}as ile türü açıkça belirtmek derleyiciye ve okuyucuya yardımcı olur.
Uygulama JSON'dan ad yazdır
jsonDecode ile s dizesini çöz ve 'ad' anahtarındaki değeri print ile yazdır.
Başlangıç kodu
import 'dart:convert';
void main() {
const s = '{"ad": "Deniz"}';
// JSON dizesini çöz ve 'ad' değerini yazdır
}Örnek çözüm
import 'dart:convert';
void main() {
const s = '{"ad": "Deniz"}';
final m = jsonDecode(s);
print(m['ad']);
}Beklenen çıktı
Deniz
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 jsonDecode('{"ad":"Ayşe"}') çağrısı ne döndürür?
- Bir Future
- Bir Widget
- Map<String, dynamic> türünde bir nesne Doğru cevap
- Her zaman String
Açıklama: jsonDecode bir JSON nesnesini Map'e, bir JSON dizisini List'e çevirir. Nesne olduğu için dönen tür Map<String, dynamic>'dir.
2 JSON dizesini çöz
import 'dart:convert';
void main() {
const s = '{"ad": "Ece"}';
final m = ____(s);
print(m['ad']);
}
import 'dart:convert';
void main() {
const s = '{"ad": "Ece"}';
final m = jsonDecode(s);
print(m['ad']);
}
Açıklama: jsonDecode, dart:convert içindeki JSON çözme fonksiyonudur; dizeyi Map'e çevirir.
3 dart:convert parçaları
| Kavram | Anlamı |
|---|---|
jsonDecode |
JSON dizesini nesneye çevirir |
dart:convert |
İçe aktarılması gereken kütüphane |
Map<String, dynamic> |
JSON nesnesinin Dart karşılığı |
m['ad'] |
Map içindeki 'ad' değerine erişim |