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Ă©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
- Collez le JSONCollez une réponse JSON ou chargez l'exemple.
- Choisissez le styleSélectionnez struct ou class, les CodingKeys et l'inclusion ou non des utilitaires.
- 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 ?
Codable : vous pouvez la décoder immédiatement avec JSONDecoder.à quoi servent les CodingKeys explicites ?
Puis-je générer des classes au lieu de structs ?
class si vous avez besoin de la sémantique de référence, par exemple pour Core Data ou l'interopérabilité Objective-C.