Générateur JSON vers Dart

Entrée JSON

Chargement de l’éditeur…

Dart Généré

Configuration

Saisissez du JSON pour générer des classes Dart

Classes avec null safety et sérialisation JSON

Comment convertir JSON en Dart – guide étape par étape

Utilisez ce générateur JSON vers Dart pour créer des classes Dart à sécurité nulle à partir d'échantillons JSON pour les applications Flutter et les services Dart.

  1. Étape 1 – Collez un échantillon JSON

    • Collez un objet ou un tableau JSON représentatif dans l'éditeur de gauche.
    • Incluez des objets imbriqués, des tableaux et des champs nullables afin que les types soient correctement déduits.
    • Utilisez Import pour charger JSON à partir d'un fichier, d'une URL ou d'un exemple de données.
  2. Étape 2 – Choisissez les options du cours Dart

    • Définissez Class Name pour le modèle racine (par exemple Root).
    • Activez la sécurité nulle et confirmez la manière dont les champs facultatifs sont représentés (String?).
    • Si vous utilisez la génération de code, choisissez un style de sérialisation (comme json_serializable).
  3. Étape 3 – Vérifiez le code généré

    • Vérifiez les noms de champs, les types et la façon dont les tableaux/objets sont modélisés.
    • Ajustez les options telles que Root Type Name, la gestion des valeurs nulles et les frameworks si disponibles.
    • Si un champ est déduit de manière incorrecte, modifiez votre exemple JSON et régénérez-le.
  4. Étape 4 – Utilisez les modèles dans Flutter/Dart

    • Ajoutez les classes émergentes à votre projet (par exemple sous lib/models).
    • Analysez JSON dans des modèles avec une usine fromJson ou des sérialiseurs générés.
    • Exécutez flutter format pour que la sortie reste cohérente avec le style de votre projet.
  5. Étape 5 – Copier ou télécharger

    • Copiez la sortie dans votre projet ou téléchargez-la sous forme de fichier.
    • Exécutez votre formateur/linter pour qu'il corresponde à votre style de code.
    • Ajoutez des bibliothèques d'analyse/sérialisation JSON si votre langage l'exige.

Conseils rapides

  • Gardez les classes de modèles petites et composez des types imbriqués pour plus de clarté.
  • Utilisez l'analyse DateTime uniquement lorsque le format de votre API est cohérent.
  • Préférez les sérialiseurs générés pour les grands modèles afin de réduire les bugs de mappage manuel.
Exemple de résultat (simplifié)
// Entrée JSON
{
  "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,
  });
}

Outils JSON et Dart associés

Explorez d'autres outils JSON et de schéma qui fonctionnent parfaitement avec ce générateur JSON vers Dart.

Questions fréquentes

Quelles fonctionnalités Dart sont prises en charge ?

Le générateur crée des classes Dart avec une bonne sécurité de types, prend en charge la sérialisation JSON manuelle et le package json_annotation, utilise des types nullables pour les valeurs null, et suit les conventions de nommage Dart.

Comment fonctionne json_annotation ?

Avec json_annotation, les classes utilisent @JsonSerializable() et génèrent automatiquement fromJson/toJson via build_runner. Cela fournit une sérialisation JSON typée.

Comment les valeurs null sont‑elles gérées ?

Les valeurs null dans le JSON sont mappées sur des types nullables (?) en Dart. Les champs requis utilisent le mot‑clé 'required' dans les constructeurs, conformément à la null safety de Dart.

Et le système de types Dart ?

Le code généré exploite le typage fort de Dart avec les types appropriés (int, double, String, bool, List, Map) et suit les conventions comme camelCase pour les champs.

Générateur JSON vers Dart | JSONSwiss