CodeBlanks Logo Icon CodeBlanks

jsonDecode

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

main.dart
void main() {
  // dart:convert import ekle; JSON metnini çöz; name yazdır
}

Örnek çözüm

main.dart
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

Soru
var data = ____(jsonText);
Cevap
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

İleri seviye bölümündeki tüm dersler