json_serializable Uygulamada
Model serileştirmesini otomatik olarak üretin.
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.0Sı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 buildBir 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. 🎉
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
- Yerleşik Açıklamalar: override, deprecated
- Özel Açıklamalar Yazma
- build_runner ile Kod Üretme
- json_serializable Uygulamada