JSON vers entités multilingues

Traitement local
app.codegen.view

Vous pouvez aussi injecter des données via #data={"name":"Ada"} ou #url=... Elles sont lues puis retirées de la barre d’adresse.

Collez un JSON d’exemple : la structure imbriquée est inférée et des types ou classes d’entités sont générés en TypeScript, Go, Java et d’autres langages. Idéal pour « l’API d’abord, le modèle ensuite ». Changez de langage dans la liste de l’atelier : la même donnée est régénérée.

Inférence de types

Les valeurs suggèrent string / number / boolean / array / object. Les objets imbriqués deviennent des types distincts, pour limiter any.

Tableaux vides, null, formes mixtes dans un même tableau : à confirmer à la main.

Découpage des types imbriqués

Les objets profonds deviennent en général des types à part, plutôt que tout aplatir en any. Traitez le résultat comme un échafaudage, puis renommez selon les conventions d’équipe.

20 langages couvrent backends et clients courants, sans chercher un site par langage.

Une relecture humaine reste nécessaire

null et tableaux de types mixtes demandent confirmation. Dates, montants, enum : un seul exemple ne suffit pas à les connaître précisément.

Le code généré n’est pas envoyé au serveur.

Exemple

JSON d’exemple
{
  "id": 1,
  "title": "hello",
  "tags": ["json", "tools"]
}
TypeScript susceptible d’être généré
interface Root {
  id: number
  title: string
  tags: string[]
}
Quels langages sont pris en charge ?

TypeScript, Java, Go, Python, C#, Rust, Kotlin, Swift et 20 au total ; basculez dans l’atelier.

Le code généré est-il envoyé au serveur ?

Non. Inférence et expansion de modèles restent dans le navigateur.

Peut-on l’utiliser tel quel en production ?

Comme brouillon. Ajoutez validation, annotations de sérialisation, champs optionnels et style de nommage d’équipe.

Que faire d’un nom de champ illégal ?

L’outil le convertit autant que possible en identifiant du langage cible. En cas de mot réservé, renommez à la main.

Flux recommandé

  1. Préparez un JSON d’exemple complet (imbrication et tableaux compris).
  2. Regardez TypeScript par défaut, puis passez au langage réellement utilisé.
  3. Copiez dans le projet et complétez null, dates et enum.
  4. Après un changement d’API, comparez les exemples avec Diff, puis régénérez la couche en conflit.

Le générateur ne sait pas que « ce nombre est un montant ». La sémantique métier se complète à la main : ne prenez pas le brouillon pour un contrat.