CodeBlanks Logo Icon CodeBlanks

toJson

toJson metodu ile modeli JSON'a çevirmeyi öğrenirsin.

toJson metodu

Bir modeli JSON'a çevirmek için toJson metodu yazarsın. Bu metod bir Map<String, dynamic> döndürür; anahtarlar JSON alan adları, değerler ise modelin alanlarıdır. Dönen Map'i jsonEncode ile JSON dizesine çevirebilirsin.

class Kullanici {
  final String ad;
  final int yas;
  Kullanici(this.ad, this.yas);

  Map<String, dynamic> toJson() {
    return {'ad': ad, 'yas': yas};
  }
}

final k = Kullanici('Ada', 19);
print(jsonEncode(k.toJson()));
// {"ad":"Ada","yas":19}

toJson ne zaman işe yarar?

toJson genellikle basit bir return ifadesi içerir; Map içinde her alanı anahtar-değer çifti olarak yazarsın. Bu metod özellikle veriyi sunucuya göndermeden önce ya da shared_preferences ile saklamadan önce işine yarar.

Map<String, dynamic> toJson() {
  return {
    'ad': ad,
    'yas': yas,
  };
}

Uygulama toJson metodunu yaz

Kullanici sınıfına toJson metodunu ekle. main içinde k nesnesinin toJson çıktısını jsonEncode ile JSON dizesine çevir ve print ile yazdır.

Başlangıç kodu

main.dart
import 'dart:convert';

class Kullanici {
  final String ad;
  final int yas;

  Kullanici(this.ad, this.yas);

  // toJson metodunu buraya yaz
}

void main() {
  final k = Kullanici('Cem', 35);
  // k'nin toJson çıktısını jsonEncode ile yazdır
}

Örnek çözüm

main.dart
import 'dart:convert';

class Kullanici {
  final String ad;
  final int yas;

  Kullanici(this.ad, this.yas);

  Map<String, dynamic> toJson() {
    return {'ad': ad, 'yas': yas};
  }
}

void main() {
  final k = Kullanici('Cem', 35);
  print(jsonEncode(k.toJson()));
}

Beklenen çıktı

{"ad":"Cem","yas":35}

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 toJson metodunun dönüş türü nedir?

  • Map<String, dynamic> Doğru cevap
  • Future
  • void
  • String

Açıklama: toJson bir Map döndürür; bu Map daha sonra jsonEncode ile JSON dizesine çevrilir. void geri dönüş yok, String doğrudan değil, async değildir.

2 toJson gövdesini yaz

Soru
class Kullanici {
  final String ad;
  final int yas;
  Kullanici(this.ad, this.yas);

  Map<String, dynamic> toJson() {
    ____;
  }
}
Cevap
class Kullanici {
  final String ad;
  final int yas;
  Kullanici(this.ad, this.yas);

  Map<String, dynamic> toJson() {
    return {'ad': ad, 'yas': yas};
  }
}

Açıklama: toJson bir Map döndürür; return ile anahtar-değer çiftlerini içeren bir Map literal yazılır.

3 toJson parçaları

Kavram Anlamı
Map&lt;String, dynamic&gt; dönüş türü
'ad': ad anahtar değer çifti
return {...} Map döndürme
jsonEncode JSON dizesine çevirme

Orta seviye bölümündeki tüm dersler