CodeBlanks Logo Icon CodeBlanks

jsonEncode

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

main.dart
void main() {
  // dart:convert import ekle; Map'i JSON String'e çevir; yazdır
}

Örnek çözüm

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

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

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