Convertisseur JSON en code
Transformez un échantillon JSON en interfaces TypeScript, structs Go, structs serde Rust, schéma Zod ou JSON Schema.
Convertisseur JSON en code — Collez un échantillon JSON représentatif et obtenez instantanément du code fortement typé dans votre langage cible : interfaces TypeScript, structs Go avec balises json, structs serde Rust, schéma Zod ou JSON Schema draft-07. Les types sont déduits directement des données : les objets imbriqués deviennent des types nommés, les tableaux infèrent le type de leur élément, et les champs absents de certains éléments d'un tableau sont marqués comme optionnels. Tout s'exécute dans votre navigateur, votre JSON n'est donc jamais téléversé.
Qu'est-ce que Convertisseur JSON en code ?
JSON en code est un générateur de types gratuit qui fonctionne dans le navigateur : il lit un échantillon JSON et écrit le modèle de données correspondant dans le langage que vous choisissez. Choisissez une cible dans le menu Convertir en (interface TypeScript, struct Go, struct serde Rust, schéma Zod ou JSON Schema) et définissez un Nom du type racine pour étiqueter le type de premier niveau. Le moteur d'inférence parcourt le JSON : les chaînes, les nombres, les booléens et null sont associés à des types natifs, les objets imbriqués sont remontés en types nommés à part entière, les tableaux adoptent le type de leur élément, et les clés absentes de certains éléments d'un tableau deviennent optionnelles. Les développeurs frontend et backend l'utilisent pour générer des DTO à partir de réponses d'API, esquisser des schémas de validation et garder les types client et serveur synchronisés sans écrire de code répétitif à la main.
Comment utiliser Convertisseur JSON en code
- Collez ou saisissez un échantillon JSON représentatif dans la zone de saisie, ou cliquez sur Exemple pour en charger un.
- Ouvrez les Paramètres et choisissez une cible sous Convertir en : TypeScript, Go, Rust, Zod ou JSON Schema.
- Définissez le Nom du type racine pour contrôler le nom de l'interface, du struct ou du schéma de premier niveau.
- Lisez le code généré dans le panneau de sortie ; il se met à jour automatiquement à mesure que vous modifiez le JSON ou changez les options.
- Consultez la statistique Types pour voir combien de types nommés ont été déduits, puis cliquez sur Copier pour récupérer le résultat.
Exemples
Objet vers interface TypeScript
Entrée
{ "id": 1, "name": "Ada", "active": true }Sortie
export interface Root {
id: number;
name: string;
active: boolean;
}Objet imbriqué vers struct Go
Entrée
{ "user": { "age": 30 } }Sortie
type User struct {
Age float64 `json:"age"`
}
type Root struct {
User User `json:"user"`
}Tableau avec une clé manquante vers un schéma Zod
Collez un tableau comme [{"a":1,"b":2},{"a":3}] et basculez Convertir en sur Zod. Comme le second élément n'a pas de b, le générateur marque b comme .optional() dans le z.object déduit, de sorte que le schéma accepte les deux formes.
Questions fréquentes
- Mon JSON est-il téléversé quelque part ?
- Non. L'analyse et la génération de code s'exécutent entièrement dans votre navigateur grâce à un moteur d'inférence intégré. Votre JSON ne quitte jamais votre appareil et l'outil continue de fonctionner hors ligne.
- Quelles cibles sont prises en charge ?
- Interfaces TypeScript, structs Go (avec balises json et omitempty pour les champs optionnels), structs serde Rust (avec les derives Serialize/Deserialize et rename lorsqu'un champ est renommé), schémas Zod et JSON Schema draft-07. L'outil ne génère que ce qu'il peut déduire fidèlement de votre échantillon.
- Comment les champs optionnels sont-ils déterminés ?
- À partir de votre échantillon. Lorsqu'un tableau contient des objets et qu'une clé manque dans certains d'entre eux, cette clé est déduite comme optionnelle. À part cela, chaque clé présente dans l'échantillon est traitée comme obligatoire.
- Qu'en est-il des nombres, des null et des types mixtes ?
- Les nombres sont associés au type à virgule flottante du langage (number, float64, f64), null est associé à un type nullable ou valeur selon la cible, et un champ qui contient des types différents d'un échantillon à l'autre se rabat sur un type permissif (unknown, interface{}, serde_json::Value) plutôt que de deviner.
- Pourquoi ma sortie est-elle vide ou affiche-t-elle une erreur ?
- L'entrée doit être du JSON valide. Si l'analyse échoue, l'outil affiche l'erreur avec la ligne et la colonne lorsque c'est possible ; corrigez l'endroit signalé et le code se régénère instantanément.
Outils connexes
Encoder / décoder Base32 / Base58
Encode du texte en Base32 (RFC 4648) ou Base58 (l'alphabet Bitcoin) et décode l'un comme l'autre vers du texte, entièrement compatible UTF-8 et directement dans ton navigateur.
Encoder / décoder en Base64
Encodez ou décodez du Base64 (compatible UTF-8) avec un alphabet URL-safe, remplissage optionnel, retour à la ligne 64/76, comptage d'octets et de caractères en direct et une vue octets en hex ou binaire.
Convertisseur de casse et compteur
Convertissez du texte entre UPPERCASE, camelCase, PascalCase, snake_case, CONSTANT_CASE, kebab-case, dot.case et plus, et comptez caractères, mots et lignes.
Formateur et minificateur de code
Embellissez ou minifiez HTML, CSS et JavaScript instantanément dans votre navigateur, avec une indentation de 2 espaces, 4 espaces ou tabulation et une compression JavaScript propulsée par Terser.