Lim inn Dart til venstre og klikk på "Konverter" — vi gjør det om til JSONLim inn Dart-kode

Hva verktøyet gjør

Holder du på med en Flutter-app og har en modellklasse der toJson() ikke er skrevet ennå, eller trenger du bare en eksempel-JSON-body til en test, er det kjedelig å hamre map-en inn for hånd. Lim inn Dart her og du får gyldig JSON tilbake — uten boilerplate, uten å skrive om. Fungerer med en enkelt klasse, en hel models.dart-fil, eller en instans du har bygget med named arguments.

Konverteren følger hvordan dart:convert faktisk serialiserer. final-felter kommer gjennom med verdiene sine. int og double forblir JSON-tall. bool forblir en boolean. DateTime blir til en ISO-8601-streng, samme format som DateTime.toIso8601String() lager. List<T> blir et JSON-array; Map<String, dynamic> blir et JSON-objekt. Nullable-typer (String?) sender ut null når verdien er null, ellers selve verdien.

Factory constructors, named constructors og fromJson/toJson-helpers blir alle gjenkjent — det som havner i outputtet, er dataene inni instansen. Limer du inn flere klasser fra én fil (for eksempel hentet fra en pakke på pub.dev), blir hver klasse en egen top-level-oppføring, og nestede instanser foldes ut som nestede JSON-objekter. Metoder hoppes over. Enums serialiseres som standard til navnet sitt, i tråd med den vanlige describeEnum-konvensjonen.

Slik bruker du det

Tre steg. Samme flyt uansett om du limer inn en liten klasse eller en hel models.dart.

1

Lim inn Dart-en din (eller prøv eksemplet)

Slipp Dart-koden din som den er i venstre editor. En klassedefinisjon, en factory constructor, flere klasser, eller en instans med named args — alt funker. Klikk Last inn eksempel for å se et realistisk tilfelle.

Imports, annotasjoner (@JsonSerializable(), @freezed) og kommentarer kan du bare la stå — parseren ignorerer det den ikke trenger. Vil du lenger inn i selve språket, er dart.dev/language den offisielle referansen.

2

Trykk Konverter

Klikk på den grønne Konverter-knappen. Verktøyet leser Darten, går gjennom hver klasse og hvert felt og lager JSON i én pass. En kort lasteindikator vises mens det kjører.

3

Kopier JSON-en

Høyre panel fylles med innrykket JSON. Slipp det inn i en Flutter-test, en mock response til Dio/http, et Firestore-seed eller API-docsene dine.

Når dette faktisk er nyttig

Flutter-integrasjonstester

Du har en Order-modell med nestet Customer og OrderItems. Lim inn klassen, få JSON-en, bruk den som mock response i integrasjonstesten.

Bootstrappe API-payloads

Gjør en CreateOrderRequest-klasse om til en JSON-body klar for Postman, curl eller en rask backend-spike — slutt på å skrive det for hånd.

Bootstrappe json_serializable

Før du kjører build_runner kan du se nøyaktig hvilken form <code>toJson()</code> kommer til å spytte ut — nyttig når du designer en ny modell.

Holde docsene i takt

Generer JSON-eksempler til en README eller API-referanse rett fra Dart-modellene dine, slik at dokumentasjonen følger den faktiske koden.

Vanlige spørsmål

Kan jeg lime inn flere klasser samtidig?

Ja — lim inn en hel models-fil hvis du vil. Hver top-level-klasse blir sin egen JSON-oppføring, og nestede instanser foldes ut som nestede objekter. Private felter (med underscore-prefiks) blir også sendt ut, akkurat som en vanlig toJson() pleier å gjøre.

Hvordan håndteres DateTime, Duration og nullables?

DateTime kommer ut som ISO-8601-streng via toIso8601String(). Duration er et numerisk mikrosekund-tall. Nullable-felter (String?) sender ut null når verdien er null, ellers selve verdien.

Hva med List, Map og Set?

List<T> og Set<T> blir begge JSON-array — JSON har ingen set-type, så medlemmene listes bare opp. Map<String, dynamic> blir et JSON-objekt. Nestede generics (List<Map<String, Order>>) foldes ut rekursivt.

Forstår den freezed- eller json_serializable-klasser?

Ja — annotasjonene @freezed og @JsonSerializable gjenkjennes, og feltene under trekkes inn i JSON-en. Du trenger ikke kjøre build_runner først; konverteren leser deklarasjonen, ikke den genererte koden.

Hvordan sendes enums ut?

Som standard brukes navnet på enum-verdien (OrderStatus.paid"paid"). Det matcher den vanlige konvensjonen og holder JSON-en lesbar uten ekstra mapping-kode.

Lagres koden min?

Dart-en din sendes til backenden for konvertering og lagres ikke — vi logger ikke payloaden. Har du sensitiv modellkode: se over eller rydd i den før du limer inn.

Andre verktøy du kanskje trenger

Dart til JSON er bare én bit. Disse passer godt sammen med det: