Varier les exemples
La racine doit être un objet ou un tableau non vide d’objets. Un tableau racine produit le modèle de son élément : décodez [Root].self. Les tableaux imbriqués examinent eux aussi tous leurs éléments.
Génération de types
Comparez les deux objets pour comprendre les propriétés optionnelles.
Analyse et génération dans ce navigateur. L’entrée n’est ni envoyée ni enregistrée.
Le tableau racine définit l’élément Root ; décodez [Root].self.
2 structs · 2 propriétés optionnelles
JSON en Swift permet de démarrer un modèle à partir de réponses réelles. Ajoutez les cas où un champ disparaît : un seul objet complet ne révèle pas les variations de votre API.
Ce convertisseur JSON en Swift prépare des structs Swift et leurs CodingKeys. Les champs optionnels reflètent les exemples fournis, pas toutes les obligations de votre contrat métier.
JSON en Swift fusionne les objets situés au même endroit dans un tableau. Une clé absente ou null devient optionnelle ; une valeur toujours présente conserve son type précis.
Les horodatages restent des chaînes par défaut. L’option ISO relie uniquement les dates complètes valides à Date et à un décodeur adapté, sans modifier les autres chaînes.
La racine doit être un objet ou un tableau non vide d’objets. Un tableau racine produit le modèle de son élément : décodez [Root].self. Les tableaux imbriqués examinent eux aussi tous leurs éléments.
Gardez CodingKeys pour les clés snake_case ou inhabituelles. Choisissez camelCase ou la conservation des noms valides. Une date reconnue doit avoir un fuseau et au plus trois chiffres de fraction de seconde.
La génération attend 350 ms après une modification. Désactivez-la pour utiliser le bouton ou Ctrl/Cmd+Enter. Les exports périmés sont bloqués immédiatement. Exemple et Effacer affichent les nombres de caractères avant application, avec un retour arrière possible.
JSON en Swift crée des propriétés var et des structs Codable dans un fichier. Les objets enfants non vides deviennent des structures auxiliaires, les objets vides des dictionnaires, et les valeurs mixtes un enum JSONValue récursif autonome.
Les groupes de tokens entiers dans la plage signée de 64 bits utilisent Int64. Décimales, exposants et grands entiers utilisent Foundation.Decimal, ainsi que les groupes numériques qui les contiennent. Aucun passage intermédiaire par JavaScript Number.
Le mode observé retient les absences et null ; le mode global rend toutes les propriétés optionnelles. Codable synthétisé lit absence et null comme nil, puis omet normalement ces propriétés à l’encodage.
makeJSONDecoder() conserve la stratégie de clés par défaut. Si Date est inféré, il essaie ISO8601DateFormatter avec puis sans fraction de seconde. Configurez séparément JSONEncoder pour réémettre du texte ISO.
Oui. JSON en Swift génère des structures auxiliaires pour les objets non vides et fusionne les éléments des tableaux. Les objets vides deviennent des dictionnaires et les valeurs mixtes utilisent un enum Codable récursif.
Oui, la génération et le téléchargement du code sont disponibles sans paiement. La page produit du Swift, mais ne compile ni n’exécute votre application dans le navigateur.
Après le chargement complet de la page et de ses ressources, les conversions n’ont pas besoin d’envoyer les données au réseau. Il ne s’agit toutefois pas d’une application installable hors ligne ; un rechargement peut nécessiter une connexion.
Une clé manque dans un autre exemple ou contient null. Vous pouvez aussi rendre toutes les propriétés optionnelles. Le décodage synthétisé donne nil dans les deux cas ; une distinction en trois états nécessite du Codable personnalisé.
Activez l’inférence ISO pour les horodatages avec fuseau et jusqu’à trois décimales. makeJSONDecoder() essaie les deux formats. Les chaînes plus précises restent String, et le format d’encodage doit être configuré à part.
Un cas de déduction mérite une amélioration ?
Utilisez JSON en Swift avec des absences, null et de vrais nombres, puis compilez et décodez le fichier sur le système réellement ciblé.