JSON till TypeScript
HÀrled TypeScript-grÀnssnitt frÄn ett JSON-exempel lokalt. Den gratis generatorn hanterar nÀstlade objekt, arrayer och unioner utan att ladda upp dina data.
đ Körs helt i din webblĂ€sare â ingenting laddas uppVad JSON till TypeScript gör
JSON till TypeScript lÀser ett JSON-exempel och hÀrleder starkt typade TypeScript-grÀnssnitt som beskriver dess struktur. Verktyget gÄr rekursivt igenom vÀrdet: objekt blir namngivna grÀnssnitt, primitiva vÀrden blir motsvarande typer string, number, boolean eller null, och arrayer blir elementtyper inom hakparenteser. NÀr en array innehÄller element av olika typer slÄr generatorn ihop dem till en union sÄ att resultatet fortfarande stÀmmer med originaldata. Det Àr anvÀndbart nÀr du anvÀnder ett API utan publicerade typer, nÀr du vill lÀgga till typsÀkerhet i en Àldre nyttolast eller nÀr du vill göra en snabb testdatamÀngd till en ÄteranvÀndbar modell.
Arrayer med objekt hanteras noggrant. I stÀllet för att bara typa det första elementet slÄr verktyget ihop alla objekt i arrayen till ett enda grÀnssnitt och samlar unionen av nycklar. Nycklar som saknas i vissa element markeras som valfria med ett avslutande frÄgetecken, vilket speglar hur verkliga svar bara innehÄller fÀlt nÀr de Àr ifyllda. NÀstlade objekt lyfts till egna namngivna grÀnssnitt som hÀrleds frÄn egenskapens namn, sÄ att resultatet lÀses som handskrivna modeller och inte som en enda djupt inbÀddad typ.
Privat arbetsflöde i webblÀsaren
All tolkning och hÀrledning sker i din webblÀsare med JavaScript pÄ klientsidan. Verktyget laddar inte upp din JSON, dina API-svar, identifierare, token eller kundliknande exempel till nÄgon server och krÀver inget konto. Den rent lokala modellen Àr viktig eftersom data som klistras in i en typgenerator ofta Àr ett verkligt produktionssvar som fÄngats vid felsökning. Att behÄlla arbetet pÄ din dator minskar riskerna och gör resultatet omedelbart eftersom det inte finns nÄgon nÀtverksresa mellan inklistring och utdata.
GrÀnssnittet placerar JSON-indata, rotnamnet och de genererade grÀnssnitten nÀra varandra sÄ att du kan kontrollera hÀrledningen innan du kopierar. Resultaten bör ÀndÄ granskas innan de checkas in: ett enda exempel kan inte avslöja alla valfria fÀlt, nullbara vÀrden eller enum-vÀrden som det verkliga API:et kan returnera, sÄ vidga typerna dÀr din domÀnkunskap sÀger att ett fÀlt kan saknas eller anta fler former Àn exemplet visar.
Praktiska tips
Ange det mest kompletta exemplet du har, helst med ifyllda valfria fĂ€lt och en array med fler Ă€n ett element, sĂ„ att sammanslagningslogiken kan upptĂ€cka unioner och valfrihet. Byt namn pĂ„ rotgrĂ€nssnittet sĂ„ att det passar din domĂ€nmodell innan du genererar. ĂvervĂ€g efter kopieringen att skĂ€rpa löst hĂ€rledda typer: ersĂ€tt breda string-fĂ€lt med literalunioner för kĂ€nda enum-vĂ€rden, markera identifierare som branded types om din kodbas anvĂ€nder dem och kontrollera att fĂ€lt som hĂ€rledningen typat som null i stĂ€llet bör vara en nullbar union. HĂ€rledning i webblĂ€saren Ă€r utmĂ€rkt för ett snabbt första utkast, men de slutliga typerna ska spegla det kontrakt som din applikation faktiskt Ă€r beroende av.
Hur man anvÀnder
- Klistra in JSONLĂ€gg till ett representativt JSON-objekt eller en array som exempel.
- Namnge rotenVÀlj ett namn pÄ rotgrÀnssnittet och generera sedan grÀnssnitten.
- Kopiera grÀnssnittenGranska det hÀrledda TypeScript-resultatet och kopiera eller ladda ned det.