Klistra in Dart till vänster och klicka på "Konvertera" — vi gör JSON av detKlistra in Dart-kod

Vad verktyget gör

Bygger du en Flutter-app och har en modellklass vars toJson() du inte skrivit än, eller behöver du bara en exempel-JSON-body till ett test? Att handknåpa map:en är tråkigt. Klistra in din Dart här och du får giltig JSON tillbaka — utan boilerplate, utan att skriva om. Funkar med en enda klass, en komplett models.dart eller en instans du byggt med named arguments.

Konverteraren följer hur dart:convert faktiskt serialiserar. final-fält kommer igenom med sina värden. int och double förblir JSON-tal. bool förblir en boolean. DateTime blir en ISO-8601-sträng, samma format som DateTime.toIso8601String() producerar. List<T> blir en JSON-array; Map<String, dynamic> blir ett JSON-objekt. Nullable-typer (String?) skickar ut null när värdet är null, annars själva värdet.

Factory constructors, named constructors och fromJson/toJson-helpers känns alla igen — det som hamnar i utdata är datan inuti instansen. Klistrar du in flera klasser från en fil (säg, hämtade från ett paket på pub.dev) blir varje klass en egen top-level-post och nästade instanser fälls ut som nästade JSON-objekt. Metoder hoppas över. Enums serialiseras som standard till sitt namn, i linje med den vanliga describeEnum-konventionen.

Så använder du det

Tre steg. Samma flöde oavsett om du klistrar in en liten klass eller hela models.dart.

1

Klistra in din Dart (eller testa exemplet)

Släng in Dart-koden som den är i editorn till vänster. En klassdefinition, en factory constructor, flera klasser, eller en instans med named args — allt funkar. Klicka på Ladda exempel för att se ett realistiskt fall.

Behåll gärna imports, annoteringar (@JsonSerializable(), @freezed) och kommentarer — parsern ignorerar det den inte behöver. För djupare bakgrund om språket är dart.dev/language den officiella referensen.

2

Tryck Konvertera

Klicka på den gröna Konvertera-knappen. Verktyget läser Darten, går igenom varje klass och fält och producerar JSON i en enda pass. En kort laddningsindikator visas medan det körs.

3

Kopiera JSON:en

Högerpanelen fylls med indenterad JSON. Släng in den i ett Flutter-test, en mock response för Dio/http, en Firestore-seed eller i dina API-docs.

När det verkligen kommer till användning

Flutter-integrationstester

Du har en Order-modell med nästad Customer och OrderItems. Klistra in klassen, få JSON:en, använd som mock response i ditt integrationstest.

Bootstrappa API-payloads

Gör om en CreateOrderRequest-klass till en JSON-body redo för Postman, curl eller en snabb backend-spike — slut på att skriva det för hand.

Bootstrappa json_serializable

Innan du kör build_runner kan du se exakt vilken form <code>toJson()</code> kommer att spotta ut — användbart när du designar en ny modell.

Håll docsen i synk

Generera JSON-samples till en README eller API-referens direkt från dina Dart-modeller så dokumentationen följer den riktiga koden.

Vanliga frågor

Kan jag klistra in flera klasser samtidigt?

Ja — klistra gärna in en hel models-fil. Varje top-level-klass blir sin egen JSON-post, och nästade instanser fälls ut som nästade objekt. Privata fält (med underscore-prefix) skickas också ut, precis som en vanlig toJson() brukar göra.

Hur hanteras DateTime, Duration och nullables?

DateTime kommer ut som ISO-8601-sträng enligt toIso8601String(). Duration är ett numeriskt mikrosekund-värde. Nullable-fält (String?) skickar ut null när värdet är null, annars själva värdet.

Och List, Map och Set?

List<T> och Set<T> blir båda JSON-arrayer — JSON saknar set-typ, så medlemmarna bara listas. Map<String, dynamic> blir ett JSON-objekt. Nästade generics (List<Map<String, Order>>) fälls ut rekursivt.

Förstår den freezed- eller json_serializable-klasser?

Ja — annoteringarna @freezed och @JsonSerializable känns igen och de underliggande fälten dras in i JSON:en. Du behöver inte köra build_runner först; konverteraren läser deklarationen, inte den genererade koden.

Hur skickas enums ut?

Som standard används enum-värdets namn (OrderStatus.paid"paid"). Det matchar den vanliga konventionen och håller JSON:en läsbar utan extra mapping-kod.

Sparas min kod?

Din Dart skickas till backenden för konvertering och sparas inte — vi loggar inte payloaden. För känslig modellkod: rensa eller se över innan du klistrar in.

Andra verktyg du kan behöva

Dart till JSON är bara en pusselbit. Dessa passar bra ihop med det: