Dart Academy · Ders

json_serializable Uygulamada

Model serileştirmesini otomatik olarak üretin.

4. ders / 413 adım

json_serializable Uygulamada, CoddyKit'te ücretsiz bir Dart Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Dart Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Dart Academy kursu toplamda 4 dersten oluşur.

JSON Tekrar Kodlama Sorunu

fromJson ve toJson yöntemlerini elle yazmak zahmetli ve hataya açıktır. json_serializable paketi, bir modelden bu ikisini de sizin için oluşturur. 📦

Paketleri Ekleyin

Oluşturma işlemi için normal bir bağımlılık olarak json_annotation'a, geliştirme bağımlılıkları olarak da json_serializable ve build_runner'a ihtiyacınız vardır.

dependencies:
  json_annotation: ^4.9.0

Sınıfa Açıklama Ekleyin

Modelinizi @JsonSerializable ile işaretleyin. Bu açıklama, oluşturucuya söz konusu sınıf için serileştirme kodu üretmesini bildirir.

@JsonSerializable()
class User {
  final String name;
  User(this.name);
}

Part Dosyasını Bildirin

Dosyanızın oluşturulan yardımcıları içerebilmesi için bir part yönergesi ekleyin. Dosyanın adı, .g.dart son ekiyle birlikte kendi dosyanızın adını yansıtır.

part 'user.g.dart';

fromJson'u Bağlayın

Oluşturulan işleve yönlendiren bir fabrika ekleyin. _$UserFromJson yardımcısı, oluşturucu tarafından sizin için oluşturulur.

factory User.fromJson(Map<String, dynamic> j) =>
    _$UserFromJson(j);

toJson'u Bağlayın

Oluşturulan yazma işlevini çağıran bir yöntem ekleyin. _$UserToJson yardımcısı, nesnenizi yeniden bir JSON eşlemesine dönüştürür.

Map<String, dynamic> toJson() => _$UserToJson(this);

Kodu Oluşturun

build_runner'ı bir kez çalıştırdığınızda user.g.dart dosyası görünür; iki yardımcı işlev de tamamen uygulanmış ve kullanıma hazırdır.

dart run build_runner build

Bir JSON Anahtarını Yeniden Adlandırın

API alanı Dart'taki adınızdan farklı olduğunda eşlemek için @JsonKey kullanın. Kodunuz temiz kalırken JSON, sunucuyla uyumlu olur.

@JsonKey(name: 'full_name')
final String fullName;

Varsayılan Bir Değer Sağlayın

Eksik alanlar için bir geri dönüş değeri sağlayabilirsiniz. defaultValue seçeneği, anahtar JSON içinde bulunmadığında bir değer doldurur.

@JsonKey(defaultValue: 0)
final int score;

İç İçe Modeller Kendiliğinden Çalışır

Bir alan başka bir @JsonSerializable sınıfıysa oluşturucu, bu alanı özyinelemeli olarak serileştirir. İç içe nesneler için sizin ekstra bir işlem yapmanız gerekmez.

Normal Dart Gibi Kullanın

Oluşturma tamamlandıktan sonra sade yöntem çağrılarıyla ayrıştırma ve kodlama yapabilirsiniz. Oluşturulan helpers gizli kaldığından, çağrı noktalarındaki kod doğal okunur.

final u = User.fromJson(data);
final back = u.toJson();

Hızlı Kontrol

Bir sınıfı JSON kodu oluşturma işlemi için hangi açıklama işaretler?

Özet

@JsonSerializable ile açıklama ekleyin, fromJson ve toJson'u bağlayın, ardından build_runner'ı çalıştırın. Alan adlarını ve varsayılan değerleri eşlemek için @JsonKey kullanın. 🎉

Başlamak ücretsiz

Yapay zeka eğitmeniyle Dart öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
30
Dersler
120

Sıkça Sorulan Sorular

“json_serializable Uygulamada” dersi ücretsiz mi?

Evet — “json_serializable Uygulamada” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Dart Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Dart Academy kursu toplamda 4 dersten oluşur.

“json_serializable Uygulamada” dersinde ne öğreneceğim?

Model serileştirmesini otomatik olarak üretin. Dart Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Dart Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Dart Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“json_serializable Uygulamada” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Dart Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Dart Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Yerleşik Açıklamalar: override, deprecated
  2. Özel Açıklamalar Yazma
  3. build_runner ile Kod Üretme
  4. json_serializable Uygulamada
← Dart Academy Sayfasına Dön