jsonEncode
- Dart kursu
- İleri seviye
- Ders 38/83
- 5 dk
jsonEncode ile JSON üretmeyi öğrenirsin.
jsonEncode
jsonEncode(obj), dart:convert'tan gelir ve bir Dart nesnesini JSON metnine çevirir. Map, List, String, num, bool, null desteklenir.
Örnek: var s = jsonEncode({'name': 'Ayşe', 'age': 30});. s artık {"name":"Ayşe","age":30} String'ıdır.
Kendi sınıfların için önce toJson() metodu ile Map'e çevir, sonra jsonEncode çağır. Direkt sınıf verirsen hata alırsın.
String çıktı formatı
jsonEncode çıktısı tek satırlık sıkıştırılmış JSON'dur: boşluksuz, anahtarlar çift tırnaklı. {'a': 1} → {"a":1}.
Okunabilir format için JsonEncoder.withIndent(' ') kullanılır: her anahtar yeni satırda, girintili. Bu, debug için yararlıdır.
String değerlerde özel karakterler kaçışlı yazılır: ' → \', yeni satır → \n. Bu otomatik yapılır.
Uygulama Map'i JSON'a çevir
import 'dart:convert'; ekle. main içinde var s = jsonEncode({'name': 'Ayşe', 'age': 30}); ekle. print(s); ekle.
Başlangıç kodu
void main() {
// dart:convert import ekle; Map'i JSON String'e çevir; yazdır
}Örnek çözüm
import 'dart:convert';
void main() {
var s = jsonEncode({'name': 'Ayşe', 'age': 30});
print(s);
}Beklenen çıktı
{"name":"Ayşe","age":30}
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Nesneyi JSON'a çevir
var s = ____(data);
var s = jsonEncode(data);
Açıklama: jsonEncode Dart nesnesini JSON String'ine çevirir.
2 jsonEncode hangi türü KABUL ETMEZ?
- Map
- Kullanıcı sınıfı Doğru cevap
- List
- int
Açıklama: kullanıcı sınıfı direkt kabul edilmez; önce toJson gerekir.
3 Encode parçalarını eşleştir
| Kavram | Anlamı |
|---|---|
jsonEncode |
Nesne → String |
Map |
Giriş türü |
toJson |
Sınıf → Map |
JsonEncoder |
Özel çıktı |