De JSON to TypeScript-converter leest een voorbeeld van JSON-waarde - een API-antwoord, een configuratiebestand, een databaserecord - en schrijft de TypeScript-interfaces die het beschrijven. Geneste objecten worden hun eigen naaminterfaces, arrays van objecten worden samengevoegd tot een interface met één element in plaats van een uitgestrekte vereniging, en sleutels die null of ontbreken in sommige records zijn als optioneel gemarkeerd. Je plakt gegevens die je al hebt; je krijgt typen die je anders met de hand zou schrijven.
Het met de hand typen van een API-reactie is vervelend en foutgevoelig op een specifieke manier: u typt wat u *denkt* het eindpunt keert terug, niet wat het daadwerkelijk heeft geretourneerd. Velden die je nooit hebt opgemerkt, worden weggelaten, een geheel getal dat soms null wordt, wordt getypt als `getal` en de fout verschijnt tijdens runtime in productie in plaats van in je editor. Door typen rechtstreeks uit een echte payload te genereren, wordt die kloof dicht, omdat de vorm waartegen u compileert de vorm is die de server daadwerkelijk heeft verzonden.
Alles draait in uw browser. De inferentie-engine is afhankelijkheidvrij typoscript, geen wrapper rond een service op afstand, dus payloads - die routinematig toegangstokens, klantrecords en interne ID's bevatten - verlaat de pagina nooit. Kies interfaces of typ aliassen, schakel het `export`-trefwoord en 'lezen only`-modifiers, kies uw inspringingsbreedte, kopieer vervolgens de uitvoer of download een .ts-bestand.
Laat een API-antwoord, een fixture-bestand of een JSON-waarde vallen. Laad het voorbeeld eerst als u wilt zien hoe geneste objecten, arrays en null-velden worden afgehandeld.
Stel de naam van het hoofdtype in — meestal de bron, zoals gebruiker of factuur. Geneste interfaces worden automatisch van hun sleutel genoemd, met array-elementnamen geseluliseerd (releases wordt vrijgave).
Kies Interface of Type Alias, beslis of u elke declaratie wilt exporteren, voeg alleen-only-modifiers toe als uw codebase de voorkeur geeft aan onveranderlijke vormen, en stel de inspringing in op 2 of 4 spaties.
Druk op Genereer. Bekijk de afgeleide optionele en vakbonden, kopieer de code vervolgens naar uw klembord of download het als een .TS-bestand dat klaar is om in uw typenmap te worden geplaatst.
Elk geneste object wordt zijn eigen benoemde, herbruikbare interface in plaats van een inline anonieme vorm, zodat u de binnenste typen onafhankelijk kunt importeren en verwijzen.
Een array van objecten wordt samengevoegd tot één elementinterface. Sleutels die in sommige records aanwezig zijn, maar niet in andere, worden optioneel, en dat is precies hoe echte gepagineerde API-gegevens zich gedragen.
Kies of een null-waarde betekent dat de sleutel optioneel is of of null in de union hoort. Beide conventies zijn gebruikelijk; de tool forceer je niet op je codebase.
emit `Interface user {}` of `type user = {}` om overeen te komen met uw bestaande pluisregels, met optionele `export` en `readonly` modifiers die consistent worden toegepast in elke declaratie.
Format, validate, and minify JSON data
Convert JSON to clean, valid YAML instantly — configurable indentation and safe string quoting
Convert JSON to well-formed XML instantly. Map object keys to elements, @-prefixed keys to attributes and #text to content, expand arrays into repeated tags, and export minified or pretty-printed XML. 100% client-side.
0 comments
No comments yet. Be the first to share your thoughts!