Dart til JSON-konverter
Lim inn Dart-klasser eller Flutter-modeller. Få ren JSON tilbake.
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.
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.
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.
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: