Monu Tools

JSON naar TypeScript

Genereer TypeScript-interfaces uit een JSON-voorbeeld, met geneste types, arrays en optionele velden. Draait in je browser.

Hoe gebruik je JSON naar TS

  1. 01

    Plak een JSON-object of -array.

  2. 02

    Stel optioneel de naam van de root-interface in.

  3. 03

    Kopieer de gegenereerde TypeScript-interfaces.

Wat de generator doet

Dit is een JSON-naar-TypeScript-generator die een set interfaces afleidt uit een voorbeeld-JSON-object of -array, zodat je een API-response kunt plakken en kant-en-klare types krijgt in plaats van ze met de hand te schrijven.

Het bespaart veel tijd wanneer je een API of een configuratiebestand gebruikt: plak een response, geef de root-interface eventueel een naam, en kopieer schone TypeScript direct in je code.

Genereren gebeurt volledig in je browser, dus je data verlaat je apparaat nooit, wat belangrijk is wanneer het voorbeeld echte waarden bevat.

Hoe het omgaat met echte structuren

Het verwerkt structuren uit de praktijk: geneste objecten worden hun eigen benoemde interfaces waarnaar de parent verwijst, arrays van objecten worden samengevoegd tot één interface, en union-types worden geproduceerd waar waarden variëren.

Optionele velden in gemengde arrays

Wanneer de objecten in een array niet allemaal dezelfde keys hebben, worden de keys die in sommige elementen ontbreken als optioneel gemarkeerd met een vraagteken, wat overeenkomt met hoe de data zich werkelijk gedraagt en de types eerlijk houdt.

Het leidt af, het dwingt geen schema af

Een belangrijk punt: het leidt een structuur af uit het enkele voorbeeld dat je geeft, in plaats van een schema af te dwingen. Als een veld in echte data soms null of afwezig is maar niet in jouw voorbeeld, weet het gegenereerde type dat niet, dus gebruik een representatief voorbeeld.

Veelgestelde vragen

Hoe worden geneste objecten verwerkt?

Elk genest object wordt zijn eigen benoemde interface, gerefereerd vanuit de ouder, zodat het resultaat schoon en herbruikbaar is.

Hoe zit het met arrays met verschillende vormen?

Arrays van objecten worden samengevoegd tot een interface, en sleutels die in sommige elementen ontbreken worden als optioneel gemarkeerd. Arrays van gemengde primitieven worden een union als elementtype.

Wordt mijn JSON ergens geüpload?

Nee. De types worden volledig in je browser gegenereerd, dus je data verlaat nooit je apparaat.

Dwingt het een schema af of leidt het er een af?

Het leidt de vorm af uit het voorbeeld dat je plakt, het valideert niet tegen een schema. Gebruik een representatief voorbeeld zodat optionele of nullable velden worden vastgelegd.

Welke types produceert het?

string, number, boolean en null als primitieven, geneste interfaces voor objecten, getypeerde arrays, optionele eigenschappen voor sleutels die niet altijd aanwezig zijn, en unions voor gemengde waarden.

Bronnen

Deze tool insluiten

Voeg deze tool toe aan je eigen website. Kopieer het fragment hieronder. Het blijft automatisch up-to-date.

<iframe src="https://monu.tools/embed/nl/json-to-typescript" width="100%" height="640" style="border:1px solid #e5e5e5;border-radius:12px;max-width:680px" loading="lazy" title="Monu Tools"></iframe>

Gerelateerde tools