JSON til Dart-konverterer
Gratis JSON til Dart-konverterer online. Lim inn et API-eksempel og generer umiddelbart typede dataklasser med fromJson- og toJson-fabrikker, null safety og final-felter, klare for Flutter, alt i nettleseren.
Hva genererer JSON til Dart-konvertereren?
Den genererer brukbare Dart-klasser med typede felt pluss fromJson- og toJson-fabrikker for hver modell, slik at du kan dekode og kode API-data med ren Dart – uten build_runner eller ekstra pakker.
Hvordan håndteres nestede objekter?
Hvert JSON-objekt blir sin egen klasse. Forelderen har et felt av den nestede typen, dets fromJson kaller rekursivt barnklassens fabrikk, og dets toJson kaller barnets toJson: dype data blir et lite klassentre.
Hva skjer med arrays av objekter?
Objekter fra ulike array-elementer slås sammen: unionen av alle nøklene deres danner én elementklasse, og feltet får typen List<Elementklasse>. Nøkler som mangler i noen elementer merkes automatisk som nullable.
Hva endrer null safety-alternativet?
Med null safety på får felt som kan mangle eller være null et ?-suffiks, konstruktoren gjør dem til valgfrie navngitte parametre, og fromJson leser dem med null-bevisste casts. Slå av for enkle non-nullable-typer.
Når bør jeg slå på final?
final erklærer hvert felt som uforanderlig etter konstruksjon – anbefalt stil for Dart-dataklasser – og lar analysatoren fange utilsiktede mutasjoner i modellene dine.
Hva hvis en JSON-nøkkel ikke er en gyldig Dart-identifikator?
Nøkler som @type eller order-id får automatisk nytt navn som en gyldig camelCase-identifikator (med $-prefiks hvis den starter med siffer). Den genererte fromJson leser fortsatt originalnøkkelen, og et varsel lister opp alle omdøpte felt.
Hvordan velges klassenavn?
Rotklassen tar navnet fra feltet Klassenavn, konvertert til PascalCase. Nestede klasser avleder PascalCase-navnet sitt fra JSON-nøkkelen som skapte dem: user_profile blir klassen UserProfile.
Sendes JSON-en min til en server?
Nei. Tolkning og kodegenerering skjer helt i nettleseren din, og .dart-filen opprettes lokalt for nedlasting: private API-eksempler og tokens forlater aldri maskinen din.
Slik bruker du JSON til Dart-konverterer
Gjør et JSON-utvalg om til klartilbruk Dart-dataklasser uten å forlate nettleseren. Klasser, fabrikker og casts genereres lokalt — nyttelasten din lastes aldri opp.
- Lim inn JSON-en din i venstre editor; Dart-koden vises til høyre mens du skriver (300 ms debounce).
- Sett navnet på toppnivå i "Class name:" — det konverteres til PascalCase for rotklassen.
- Slå på "Null safety" for å legge til ? til nullbare felter og sende ut null-bevisste casts i fromJson.
- Slå på "final" for å erklære alle felter uforanderlige, kopier deretter resultatet eller last det ned som en .dart-fil.
Nøstede objekter blir egne klasser, arrays av objekter smelter sammen til én elementklasse typet List<Element>, og ugyldige nøkler som @type byttes navn automatisk mens fromJson fortsetter å lese originalnøkkelen.
Relaterte verktøy
- JSON til TypeScript Konverter JSON til TypeScript-grensesnitt og typedefinisjoner umiddelbart. Støtter nestede objekter, arrayer og unionstyper.
- JSON til Go Struct Konverter JSON til Go struct-definisjoner umiddelbart. Lim inn JSON og få ren Go-kode med riktige typer, json-tagger og omitempty-støtte.
- Hash-sjekk Beregn og verifiser MD5, SHA-1, SHA-256, SHA-512 filhasher lokalt
- Chmod-kalkulator Gratis online chmod-kalkulator for å visualisere og beregne Linux-filrettigheter med avmerkingsbokser. Konverter umiddelbart mellom numerisk (755, 644) og symbolsk notasjon (rwxr-xr-x). Støtter spesielle rettigheter som setuid, setgid, sticky bit.
- ASCII-tabell Komplett ASCII-tegnkodingsreferanse med desimale, heksadesimale, oktale, binære koder, HTML-enheter og tegnbeskrivelser. Umiddelbar søk og filtrering.
- Hex-viser Vis filinnhold i hex-dump-format med søk, offset-navigering og virtuell rulling
- MIME-type Oppslag Finn MIME-typer umiddelbart etter filutvidelse eller søk utvidelser etter MIME-type. Gratis nettverktøy med over 1000 oppføringer.
- Skjermoppløsningssjekk Oppdager skjermoppløsning, viewport-størrelse, DPI og fargedybde i sanntid.