JSON till Dart-klass
Omvandla ett JSON-exempel till en Dart-klass med fromJson, toJson och kapslade modeller.
JSON till Dart-klass
Klistra in ett JSON-exempel, och detta verktyg härleder dataformatet och genererar en motsvarande Dart-klass — precis vad du annars skulle skriva för hand för en Flutter-modell. Kapslade objekt blir egna klasser, arrayer blir typade `List<...>`-fält, och varje klass levereras med en namngiven konstruktor, en `fromJson`-factory och en `toJson`-metod som passar direkt in i ett Flutter- eller Dart-projekt.
Alternativen styr stilen för den genererade koden. "Klassnamn" ställer in rotklassen; kapslade klasser namnges efter JSON-nyckeln som introducerade dem. "Null-säkerhet med obligatoriska fält" markerar fält som finns i varje exempel som `required` med en icke-null typ, och fält som ibland saknas eller är null som nullable och valfria — stäng av detta för att göra alla fält nullable i stället, vilket är mer tolerant mot inkonsistenta API-svar. "json_serializable-anteckningar" byter från handskrivna `fromJson`/`toJson`-implementeringar till `@JsonSerializable()`- och `@JsonKey`-anteckningar som delegerar till en genererad `.g.dart`-fil, för projekt som redan använder det paketet och build_runner. "Konstanta fält" gör klassen oförändring; "Generera copyWith" lägger till en metod för att skapa en modifierad kopia utan att muttera originalet, och "Generera == och hashCode" lägger till värdelikhet så att två instanser med samma fältvärden jämförs lika. "Indrag" byter den genererade koden mellan 2 och 4 mellanslag.
När samma objektform upprepas — till exempel en array med objekt som alla har samma fält — återanvänder verktyget en klass i stället för att generera en duplikat för varje förekomst, och ett fält som endast saknas från vissa poster i en array härleds korrekt som valfritt snarare än obligatoriskt. JSON-nycklar som inte är giltiga Dart-identifierare, använder annan skiftläge eller kolliderar med ett nyckelord eller ett genererat metodnamn (som `copyWith` eller `hashCode`) omnamns automatiskt på Dart-sidan medan den ursprungliga nyckeln bevaras för kodning och avkodning.
Allt körs lokalt i din webbläsare: ditt JSON-exempel överförs aldrig någonstans, vilket är viktigt om det innehåller verkliga användardata eller en intern API:s svarsform. Kopiera klassen, ladda ned den som en .txt-fil, eller skicka tillbaka utmatningen till inmatningen för att konvertera ytterligare en kapslad del.