JSON'dan Dart'a Üretici

JSON Girdisi

Editör yükleniyor…

Oluşturulan Dart

Configuration

Dart sınıfları üretmek için JSON verisi girin

Null safety ve JSON serileştirme ile sınıflar

JSON'u Dart'a dönüştürme – adım adım kılavuz

Flutter uygulamaları ve Dart hizmetlerine yönelik JSON örneklerinden null güvenli Dart sınıfları oluşturmak için bu JSON'dan Dart'a oluşturucuyu kullanın.

  1. Adım 1 – JSON örneğini yapıştırın

    • Temsili bir JSON nesnesini veya dizisini sol düzenleyiciye yapıştırın.
    • Türlerin doğru bir şekilde çıkarılabilmesi için iç içe geçmiş nesneler, diziler ve null yapılabilir alanlar ekleyin.
    • JSON'u bir dosyadan, URL'den veya örnek verilerden yüklemek için Import kullanın.
  2. Adım 2 – Dart sınıfı seçeneklerini seçin

    • Kök model için Class Name değerini ayarlayın (örneğin Root).
    • Boş güvenliği etkinleştirin ve isteğe bağlı alanların nasıl temsil edildiğini doğrulayın (String?).
    • Kod oluşturmayı kullanıyorsanız bir serileştirme stili seçin (json_serializable gibi).
  3. Adım 3 – Oluşturulan kodu inceleyin

    • Alan adlarını, türlerini ve dizilerin/nesnelerin nasıl modellendiğini kontrol edin.
    • Varsa Root Type Name, boş değer işleme ve çerçeveler gibi seçenekleri ayarlayın.
    • Bir alan yanlış çıkarsa, örnek JSON'unuzu değiştirin ve yeniden oluşturun.
  4. Adım 4 – Flutter/Dart'taki modelleri kullanın

    • Oluşturulan sınıfları projenize ekleyin (örneğin lib/models altında).
    • JSON'u fromJson fabrika veya oluşturulmuş serileştiricilere sahip modellere ayrıştırın.
    • Çıktının proje stilinizle tutarlı olmasını sağlamak için flutter format komutunu çalıştırın.
  5. Adım 5 – Kopyalayın veya indirin

    • Çıktıyı projenize kopyalayın veya dosya olarak indirin.
    • Kod stilinize uyacak şekilde biçimlendiricinizi/linterinizi çalıştırın.
    • Diliniz gerektiriyorsa JSON ayrıştırma/serileştirme kitaplıklarını ekleyin.

Hızlı ipuçları

  • Model sınıflarını küçük tutun ve netlik sağlamak için iç içe geçmiş türler oluşturun.
  • DateTime ayrıştırmayı yalnızca API biçiminiz tutarlı olduğunda kullanın.
  • Manuel eşleme hatalarını azaltmak için büyük modeller için oluşturulan serileştiricileri tercih edin.
Örnek çıktı (basitleştirilmiş)
// JSON girişi
{
  "id": 123,
  "name": "Maeve Winters",
  "email": "[email protected]",
  "active": true,
  "roles": ["admin", "editor"],
  "metadata": { "plan": "pro" },
  "createdAt": "2024-03-01T10:15:00Z",
  "score": 99.5,
  "notes": null
}

// Generated Dart models (simplified)
class Metadata {
  final String plan;
  const Metadata({required this.plan});
}

class Root {
  final int id;
  final String name;
  final String? email;
  final bool active;
  final List<String> roles;
  final Metadata metadata;
  final String createdAt;
  final double score;
  final Object? notes;

  const Root({
    required this.id,
    required this.name,
    required this.email,
    required this.active,
    required this.roles,
    required this.metadata,
    required this.createdAt,
    required this.score,
    required this.notes,
  });
}

İlgili JSON ve Dart araçları

Bu JSON'dan Dart'a oluşturucuyla birlikte harika çalışan daha fazla JSON ve şema aracını keşfedin.

Sık Sorulan Sorular

Hangi Dart özellikleri destekleniyor?

Üretici; doğru type safety ile Dart sınıfları oluşturur, hem manuel JSON serileştirmeyi hem de json_annotation paketini destekler, null değerler için nullable türler kullanır ve Dart adlandırma kurallarını takip eder.

json_annotation nasıl çalışır?

json_annotation çatısı seçildiğinde, üretilen sınıflar @JsonSerializable() anotasyonunu kullanır ve build_runner ile fromJson/toJson metotlarını otomatik üretir. Bu, type-safe JSON serileştirmesi sağlar.

Nullable değerler nasıl ele alınır?

JSON'daki null değerler Dart'ta nullable türlere (?) eşlenir ve null safety sağlar. Gerekli alanlar constructor'larda 'required' anahtar sözcüğünü kullanır; bu, Dart'ın null safety ilkelerine uygundur.

Dart'ın tür sistemi nasıl kullanılır?

Üretilen Dart kodu; int, double, String, bool, List, Map gibi uygun türlerle Dart'ın güçlü tür sisteminden yararlanır ve alan adlarında camelCase gibi Dart kurallarını izler.

JSON'dan Dart'a Üretici | JSONSwiss