Générateur JSON vers Swift

Entrée JSON

1

Swift Généré

Configuration

Saisissez du JSON pour générer des structs Swift

Structs avec support Codable et sécurité de types

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

Utilisez ce générateur JSON vers Swift pour créer des structures Swift codables à partir d'échantillons JSON pour les applications iOS/macOS et les services Swift.

  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 de structure Swift

    • Définissez une racine Struct Name (par exemple Root).
    • Vérifiez comment les champs facultatifs correspondant à String? et à des types similaires.
    • Confirmez la stratégie de mappage des clés lorsque les clés JSON ne correspondent pas aux conventions de dénomination Swift.
  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 – Utiliser les structures avec Codable

    • Ajoutez les structures émergentes à votre projet et assurez-vous qu'elles sont conformes au Codable.
    • Décodez JSON en utilisant JSONDecoder dans le type racine.
    • Ajoutez des stratégies personnalisées CodingKeys ou de décodage de date selon vos besoins.
  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

  • Préférez ISO8601DateFormatter/JSONDecoder.dateDecodingStrategy pour les horaires.
  • Utilisez CodingKeys pour la conversion de Snake_case en CamelCase si nécessaire.
  • Gardez les structures DTO séparées des modèles d'interface utilisateur pour éviter le couplage.
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 Swift models (simplified)
struct Metadata: Codable {
  let plan: String
}

struct Root: Codable {
  let id: Int
  let name: String
  let email: String?
  let active: Bool
  let roles: [String]
  let metadata: Metadata
  let createdAt: String
  let score: Double
  let notes: String?
}

Outils JSON et Swift associés

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

Questions fréquentes

Quelles fonctionnalités Swift sont prises en charge ?

Le générateur crée des structs Swift avec sécurité de types, prend en charge le protocole Codable pour la sérialisation/désérialisation JSON, utilise des types optionnels pour les valeurs null et suit les conventions Swift.

Comment fonctionne le protocole Codable ?

Avec Codable, les structs générés conforment automatiquement au protocole Codable, permettant l’encodage/décodage via JSONEncoder et JSONDecoder.

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

Les valeurs null dans le JSON sont mappées sur des types optionnels (?) en Swift, nécessitant un unwrap explicite, conformément à l’approche Swift.

Et le système de types Swift ?

Le code généré utilise des types adaptés (Int, Double, String, Bool, [Any], [String: Any]) et la sémantique de valeur via des structs pour des modèles immuables.