toJson
- Flutter kursu
- Orta seviye
- Ders 58/99
- 4 dk
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
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
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
class Kullanici {
final String ad;
final int yas;
Kullanici(this.ad, this.yas);
Map<String, dynamic> toJson() {
____;
}
}
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<String, dynamic> |
dönüş türü |
'ad': ad |
anahtar değer çifti |
return {...} |
Map döndürme |
jsonEncode |
JSON dizesine çevirme |