Skip to content
jsonforge.app

JSON to Code

Générez des types TypeScript, Go, Python, Java, Kotlin, Rust, C# ou PHP depuis du JSON.

Entrée JSON

Loading editor…

Code généré

Saisissez du JSON à gauche pour générer un type à partir de celui-ci.

Qu'est-ce que JSON to Code ?

Un générateur JSON vers Code inspecte la forme réelle d'un document JSON — ses clés, son imbrication et ses types de valeurs — et produit une définition de types correspondante dans le langage de votre choix : une interface TypeScript, une struct Go, un TypedDict Python, un record Java, une data class Kotlin, une struct Rust, un record C# ou une classe PHP. Cela épargne l'étape fastidieuse et source d'erreurs de transcrire à la main une réponse d'API ou un fichier de configuration en code typé à chaque changement de forme de ces données. Plutôt que d'écrire (et de réécrire constamment) des définitions de types à la main chaque fois qu'une charge utile JSON en amont gagne un champ ou change le type d'une valeur, vous collez le JSON une fois et obtenez un point de départ exact dans le langage cible, les objets et tableaux imbriqués devenant leurs propres types nommés.

Comment utiliser JSON to Code

  1. Collez ou tapez un document JSON représentatif dans le panneau de gauche — plus l'échantillon est complet (tous les champs optionnels présents, tableaux avec au moins un élément), plus le type généré sera complet.
  2. Choisissez un langage cible dans le menu déroulant au-dessus de la sortie — TypeScript, Go, Python, Java, Kotlin, Rust, C# ou PHP.
  3. Définissez éventuellement un nom de type racine (par défaut « Root ») — les types d'objets imbriqués sont nommés d'après la clé qui les contient.
  4. Copiez le code généré depuis le panneau de droite directement dans votre projet.

Exemples

Objet plat → TypeScript

Entrée

{"id": 1, "name": "Ada", "active": true}

Sortie

interface Root { id: number; name: string; active: boolean; }

Objet imbriqué → struct Go

Entrée

{"user": {"id": 1, "name": "Ada"}}

Sortie

type Root struct { User RootUser `json:"user"` } type RootUser struct { Id int `json:"id"` Name string `json:"name"` }

Erreurs courantes

  • Coller un échantillon JSON privé de ses champs optionnels — le type généré omettra simplement les champs qu'il n'a jamais vus, donc un échantillon incomplet produit un type incomplet.
  • S'attendre à l'inférence de types numériques exacts (int vs float, ou largeurs de bits précises) — la plupart des langages ici reçoivent un type numérique généraliste plutôt qu'une précision devinée.
  • Oublier de renommer le type racine — si vous générez plusieurs types liés dans le même fichier, donnez à chaque génération un nom racine distinct pour éviter une collision de nommage.

Pourquoi utiliser cet outil

  • S'exécute entièrement côté client — aucun JSON collé ici n'est jamais envoyé à un serveur.
  • Couvre huit langages depuis une seule entrée, donc pas besoin d'un outil séparé par langage cible.
  • Les objets et tableaux imbriqués reçoivent des sous-types correctement nommés au lieu d'être aplatis ou laissés non typés.

Questions fréquentes