DT Dev Tools

Convertir JSON en Swift — GĂ©nĂ©rateur Codable

Convertissez du JSON en structs ou classes Swift Codable en ligne avec CodingKeys, optionnels et types imbriquĂ©s. PrĂȘt pour JSONDecoder, gratuit et privĂ©.

🔒 S'exĂ©cute entiĂšrement dans votre navigateur — rien n'est envoyĂ©

Publicité

Des modĂšles Swift Codable Ă  partir de JSON

Le protocole Codable de Swift rĂ©duit le dĂ©codage JSON Ă  une seule ligne — une fois que vous disposez de types qui correspondent exactement Ă  la charge utile. Ce convertisseur JSON vers Swift gĂ©nĂšre ces types Ă  partir d'un exemple. Chaque objet devient une struct (ou une class) conforme Ă  Codable, les clĂ©s deviennent des propriĂ©tĂ©s en camelCase, les objets imbriquĂ©s deviennent leurs propres types, les tableaux deviennent des tableaux Swift typĂ©s, et les valeurs absentes ou nulles dans une partie de l'exemple deviennent des optionnels. Des Ă©numĂ©rations CodingKeys explicites relient chaque propriĂ©tĂ© Ă  la clĂ© JSON d'origine, si bien que les API en snake_case se dĂ©codent sans stratĂ©gie personnalisĂ©e.

Le moteur sous-jacent est quicktype, qui fusionne tous les Ă©lĂ©ments de chaque tableau avant d'infĂ©rer les types. Un champ prĂ©sent dans certains Ă©lĂ©ments seulement devient tout de mĂȘme une propriĂ©tĂ© optionnelle, ce qui Ă©vite la redoutable erreur de dĂ©codage keyNotFound Ă  l'exĂ©cution.

Structs, classes et utilitaires

Les structs sont le choix par dĂ©faut, car les types valeur sont idiomatiques pour les modĂšles dans SwiftUI et dans la plupart du code iOS et macOS moderne. Passez aux classes lorsque vous avez besoin de la sĂ©mantique de rĂ©fĂ©rence ou de l'interopĂ©rabilitĂ© avec Objective-C. Par dĂ©faut, la sortie contient aussi des utilitaires pratiques — des initialiseurs Ă  partir de donnĂ©es et de chaĂźnes JSON, les mĂ©thodes jsonData() et jsonString(), ainsi qu'un mutateur with(...) — qui rendent les modĂšles faciles Ă  utiliser dans les tests et les aperçus. Cochez Types only si vous prĂ©fĂ©rez un fichier minimal ne contenant que les dĂ©clarations Codable.

Conseils avant de coller dans Xcode

Utilisez un exemple riche, avec plusieurs éléments de tableau et des champs optionnels renseignés. Renommez le type racine de Root en un nom parlant comme FeedResponse ; le téléchargement reprendra ce nom. Envisagez ensuite de transformer les champs de type chaßne à valeurs connues en énumérations, d'utiliser Date avec une dateDecodingStrategy adaptée, et de déclarer les propriétés en var lorsque vous avez besoin de mutation. Tout se passe en local dans votre navigateur : les réponses d'API privées ne sont jamais envoyées.

Comment utiliser

  1. Collez le JSONCollez une réponse JSON ou chargez l'exemple.
  2. Choisissez le styleSélectionnez struct ou class, les CodingKeys et l'inclusion ou non des utilitaires.
  3. Copiez dans XcodeCopiez le code Swift ou téléchargez un fichier .swift pour votre projet.

Questions fréquemment posées

Les types générés sont-ils Codable ?
Oui. Chaque struct ou classe est conforme à Codable : vous pouvez la décoder immédiatement avec JSONDecoder.
À quoi servent les CodingKeys explicites ?
Elles relient les noms de propriétés Swift en camelCase aux clés JSON exactes. Gardez-les activées lorsque les clés utilisent le snake_case ou d'autres noms qui ne sont pas des identifiants Swift valides.
Puis-je générer des classes au lieu de structs ?
Oui. Passez Types sur class si vous avez besoin de la sémantique de référence, par exemple pour Core Data ou l'interopérabilité Objective-C.
Mon JSON est-il envoyé quelque part ?
Non. Toute la conversion s'exécute dans votre navigateur ; rien n'est envoyé à un serveur.
Publicité