Ga naar inhoud
100% lokaal

JSON naar Dart-klasse

Converteer een JSON-voorbeeld naar een Dart-klasse met fromJson, toJson en geneste modellen.

Invoer
Uitvoer

JSON naar Dart-klasse

Plak een JSON-voorbeeld in, en deze tool herleid de gegevensstructuur en genereert een overeenkomende Dart-klasse — het soort dat u anders met de hand voor een Flutter-model zou schrijven. Geneste objecten worden hun eigen klassen, arrays worden getypeerde `List<...>`-velden, en elke klasse krijgt een constructor, een `fromJson`-factory en een `toJson`-methode.

De opties bepalen de stijl van de gegenereerde code. "Klasnaam" stelt de basisklasse in; geneste klassen worden genoemd naar de JSON-sleutel die hen introduceerde. "Null-veiligheid met verplichte velden" markeert altijd aanwezige velden als `required`, soms ontbrekende als nullable. "json_serializable-annotaties" schakelt over naar `@JsonSerializable()`-delegering voor build_runner. "Unanderbare velden" maakt de klasse onveranderbaar; "copyWith genereren" voegt een kopieermethode toe, en "== en hashCode genereren" activeert waardenequivalentie.

Wanneer objectvormen zich herhalen, hergebruikt de tool één klasse in plaats van duplicaten te genereren. JSON-sleutels die geen geldige Dart-identifiers zijn, worden automatisch hernoemd terwijl de originele sleutel behouden blijft.

Alles wordt lokaal in uw browser uitgevoerd — uw JSON-voorbeeld wordt nooit geüpload. Kopieer de klasse, download deze als een .txt-bestand, of converteer verdere geneste delen.

FAQ

Hoe worden geneste objecten en arrays verwerkt?
Elk genest object wordt zijn eigen Dart-klasse genoemd naar het veld dat het introduceerde, en een array van objecten wordt een getypeerde List<YourClass>. Wanneer dezelfde vorm meer dan eens voorkomt, hergebruikt de tool één klasse in plaats van voor elk voorkomen een duplicaat te genereren.
Wat verandert er met "Null-veiligheid met verplichte velden"?
Als dit is ingeschakeld, krijgt een veld dat de tool in elk voorbeeld ziet een niet-nullable type en een `required`-constructorparameter; een veld dat soms ontbreekt of null is, krijgt een nullable type zonder `required`-sleutelwoord. Uitschakelen maakt elk veld nullable en optioneel, wat toleranter is voor API's met wisselende antwoorden.
Heb ik het json_serializable-pakket nodig?
Alleen als u de optie "json_serializable-annotaties" inschakelt, die @JsonSerializable()/@JsonKey en een part-richtlijn uitgeeft met verwachting van een gegenereerd .g.dart-bestand van build_runner. Laat het uit en het hulpprogramma schrijft in plaats daarvan eenvoudige, afhankelijkheidsvrije fromJson/toJson-methoden.
Kan het het type van een numeriek veld correct afleiden?
Ja. Een veld dat altijd een geheel getal is, wordt int; als enige voorbeeldwaarde een decimaalteken heeft, wordt het gehele veld verbreed naar double zodat geen waarde wordt afgekapt.
Wordt mijn JSON ergens geüpload?
Nee. De klasse wordt volledig gegenereerd in uw browser — uw JSON-voorbeeld verlaat nooit uw apparaat.