Transforme un objet JSON, ou un tableau d'objets, en interface TypeScript, en classe Python, en modèle Pydantic ou en SQL. La mise en forme reste sur le formateur JSON
Un échantillon d'API est souvent un objet JSON, ou une liste d'objets. Cette page écrit une interface TypeScript, une classe Python, un modèle Pydantic, ou un CREATE TABLE et un INSERT par objet. La mise en forme et la réparation restent sur le formateur JSON.
{"id":1,"name":"Ada","ok":true,"tags":["a","b"],"meta":{"n":2}}, règle le mode sur Interface TypeScript, Nom sur Item, et laisse les deux cases cochées. Le résultat contient export interface Item avec id?: number, name?: string, ok?: boolean, tags?: string[] et meta?: ItemMeta, plus export interface ItemMeta avec n?: number.item. Les colonnes sont id BIGINT NOT NULL, name TEXT NOT NULL, ok BOOLEAN NOT NULL, tags TEXT NOT NULL et meta TEXT NOT NULL. L'INSERT est 1, 'Ada', 1, '["a","b"]', '{"n":2}'.from dataclasses import dataclass et from typing import Optional, List, puis la classe @dataclass ItemMeta avec n: Optional[int] = None, puis la classe @dataclass Item avec id, name, ok, tags: Optional[List[str]] = None et meta: Optional[ItemMeta] = None. Passez le mode à Modèle Pydantic : les imports ajoutent from pydantic import BaseModel et les deux classes étendent BaseModel, sans @dataclass. Afficher un exemple reste sur Interface TypeScript.La racine doit être un objet, ou un tableau d'objets. Un nombre, une chaîne ou un tableau de nombres s'arrête sur une erreur. Un objet sans clé s'arrête sur une erreur.
TypeScript utilise boolean, number et string. Un tableau de l'un de ces types devient T[]. Un tableau vide devient unknown[]. Un objet imbriqué devient une autre interface : le nom du parent plus la clé, donc meta sous Item est ItemMeta. Les types mélangés deviennent unknown. Propriétés facultatives ajoute ? sur chaque champ. Quand la racine est un tableau et qu'une clé manque à certains objets, ce champ est facultatif même si Propriétés facultatives est décoché. export écrit export interface. Une racine tableau ajoute le commentaire // JSON root is Name[].
SQL met Nom en minuscules et transforme les autres caractères en tirets bas, donc Order Line devient order_line. Les entiers sont BIGINT, les autres nombres sont DOUBLE, les booléens sont BOOLEAN et s'écrivent 1 ou 0, et les chaînes sont TEXT. Un objet ou un tableau imbriqué est TEXT qui contient le texte JSON. Une apostrophe dans une chaîne est doublée. Une clé qui vaut null, ou qui manque sur une ligne, est nullable. Chaque objet est un INSERT.
C'est un objet, donc TypeScript le nomme ItemMeta. En SQL, ce même champ est TEXT contenant {"n":2}.
Chaque objet devient une ligne. Une liste de nombres n'a pas de colonnes.