jsonDecode
- Dart kursu
- İleri seviye
- Ders 37/83
- 5 dk
jsonDecode ile JSON parse öğrenirsin.
jsonDecode
jsonDecode(String), dart:convert'tan gelir ve bir JSON metnini Dart nesnesine çevirir. Sonuç dynamic türündedir; genellikle Map<String, dynamic> veya List'e cast edilir.
Örnek: var data = jsonDecode('{"name":"Ayşe","age":30}');. data['name'] 'Ayşe' verir. Hatalı JSON FormatException fırlatır.
Cast olmadan data.name çalışmaz; data['name'] kullanılır. Tip güvenliği için fromJson fabrika metodu tercih edilir (L3'te göreceğiz).
Map olarak okuma
JSON nesnesi Map<String, dynamic>'e cast edilir: var m = jsonDecode(s) as Map<String, dynamic>;. Sonra m['key'] ile değerler okunur.
İç içe nesneler için zincirleme erişim: m['user']['name']. Her seviye dynamic olduğu için derleyici denetlemez; hata runtime'da ortaya çıkar.
Listeler için var list = jsonDecode(s) as List;. Elemanlar yine dynamic'tir; cast ile türe çevrilir.
Uygulama JSON metnini çöz ve yazdır
import 'dart:convert'; ekle. main içinde var data = jsonDecode('{"name":"Ayşe","age":30}'); ekle. print(data['name']); ekle.
Başlangıç kodu
void main() {
// dart:convert import ekle; JSON metnini çöz; name yazdır
}Örnek çözüm
import 'dart:convert';
void main() {
var data = jsonDecode('{"name":"Ayşe","age":30}');
print(data['name']);
}Beklenen çıktı
Ayşe
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 jsonDecode ne döndürür?
- dynamic Doğru cevap
- Map
- String
- int
Açıklama: jsonDecode dynamic döndürür; Map/List'e cast edilir.
2 JSON metnini çöz
var data = ____(jsonText);
var data = jsonDecode(jsonText);
Açıklama: jsonDecode JSON metnini Dart nesnesine çevirir.
3 jsonDecode parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
jsonDecode |
String → dynamic |
Map<String, dynamic> |
Nesne cast |
data['key'] |
Değer erişimi |
FormatException |
Hatalı JSON |