JSON-inndata

Dart-utdata

Hva er JSON til Dart?

Dart bruker klasser for strukturerte data. Når du bruker JSON i Flutter- eller Dart-apper, trenger du samsvarende klasser med riktige feltnavn og typer. JSON-spesifikasjonen definerer objekter, tabeller, strenger, tall og boolske verdier — men Dart trenger eksplisitte klassedefinsjoner for hvert nestede objekt.

Dette verktøyet genererer Dart-klasser fra JSON-en din. Aktiver JsonSerializable for fromJson/toJson-metoder. Aktiver Nullable-typer for valgfrie felt. Utdataene fungerer med json.decode() og json.encode().

Konvertering kjører helt i nettleseren din. JSON-en din sendes aldri til en server.

Når JSON til Dart hjelper

Når du bygger Flutter- eller Dart-apper som bruker REST API-er, trenger du typede klasser. Lim inn et eksempelsvar her for å generere samsvarende klasser.

Slik bruker du verktøyet

1

Lim inn eller last opp JSON

Kopier JSON-en din og lim den inn i editoren til venstre. Du kan også klikke Last opp for å laste inn en fil. Bruk Eksempel-knappen for eksempeldata. Sett klassenavnet og alternativene i konfigurasjonsfeltet.

2

Gå gjennom de genererte klassene

Høyre panel viser de genererte Dart-klassene. Nestede objekter blir separate klasser. Tabeller blir List<T>. Hvis JSON-en din har ugyldig syntaks, fiks det først ved å bruke JSON-formaterer eller JSON-validator.

3

Kopier eller last ned

Bruk Kopier eller Last ned for å hente koden. Lim den inn i Flutter- eller Dart-prosjektet ditt.

Eksempler på JSON til Dart

Her er et eksempel på generering av Dart-klasser fra et JSON-objekt.

Eksempel: Abonnementspost

JSON-inndata:

Inndata

Generert Dart-utdata:

Utdata

Når JSON til Dart hjelper

De fleste utviklere trenger dette ved REST API-integrasjon. Å lime inn her gir deg typede klasser du kan bruke umiddelbart med json.decode.

Hvis du trenger å slå sammen to JSON-filer først, finnes det et eget JSON Merge-verktøy for det.

Databaseeksporter, konfigurasjonsfiler eller API-svar er ofte JSON. Å kjøre dem gjennom her hjelper deg med å generere Dart-klasser for appen din.

Ofte stilte spørsmål

JsonSerializable eller manuell fromJson?

JsonSerializable genererer fromJson og toJson ved byggetid. Det reduserer boilerplate-kode. Krever json_serializable og build_runner i prosjektet ditt.

Hva med null safety?

Aktiver Nullable-typer for valgfrie JSON-felt. Dette legger til ? for typer som kan være null.

Sendes dataene mine noe sted?

Nei. Generering kjører helt i nettleseren din. Ingen data sendes til noen server.

Kan jeg bruke dette med Flutter?

Ja. De genererte klassene fungerer med Flutters http-pakke og dart:convert. Legg til json_serializable for automatisk serialisering.

Hva hvis JSON-nøklene bruker snake_case?

Dart bruker vanligvis camelCase. Bruk @JsonKey(name: 'json_key') på feltet for egendefinerte JSON-nøkkelnavn.

Relaterte verktøy

For Dart JSON, se dart:convert. For JSON, se JSON-spesifikasjonen. For Flutter, se Flutter.