JSON la clasă Dart
Transformă o mostră JSON într-o clasă Dart cu fromJson, toJson și modele imbricate.
JSON la clasă Dart
Lipește o mostră JSON și acest instrument deduce forma datelor și generează o clasă Dart corespunzătoare — felul pe care l-ai scrie manual pentru un model Flutter. Obiectele imbricate devin propriile lor clase, matricele devin câmpuri `List<...>` tipizate, și fiecare clasă vine cu un constructor numit, o fabrică `fromJson` și o metodă `toJson`, deci rezultatul se integrează direct într-un proiect Flutter sau Dart.
Opțiunile controlează stilul codului generat. "Numele clasei" stabilește clasa rădăcină; clasele imbricate sunt numite după cheia JSON care le-a introdus. "Siguranța nulă cu câmpuri obligatorii" marchează câmpurile prezente în fiecare mostră ca `required` cu un tip non-nul, și câmpurile care uneori lipsesc sau sunt nule ca anulabile și opționale — dezactivează pentru a face toate câmpurile anulabile, ceea ce este mai tolerant la răspunsuri API inconsistente. "Adnotări json_serializable" trece de la corpurile `fromJson`/`toJson` scrise manual la adnotări `@JsonSerializable()` și `@JsonKey` care delegă către un fișier parte `.g.dart` generat, pentru proiecte care folosesc deja acel pachet și build_runner. "Câmpuri finale" face clasa imuabilă; "Generează copyWith" adaugă o metodă pentru a crea o copie modificată fără a muta originalul, și "Generează == și hashCode" adaugă egalitate de valoare, deci două instanțe cu aceleași valori de câmp se compară ca egale. "Indentare" comută codul generat între 2 și 4 spații.
Când aceeași formă de obiect se repetă — o matrice de articole care au toate aceleași câmpuri, de exemplu — instrumentul refolosește o singură clasă în loc să genereze una duplicată pentru fiecare apariție, și un câmp care lipsește din unele intrări dintr-o matrice este corect dedus ca opțional în loc de obligatoriu. Cheile JSON care nu sunt identificatori Dart valizi, folosesc diferite majuscule, sau se ciocnesc cu un cuvânt cheie sau un nume de metodă generat (ca `copyWith` sau `hashCode`) sunt redenumite automat pe partea Dart în timp ce cheia originală este păstrată pentru codificare și decodificare.
Totul se execută local în browser-ul tău: nicio mostră JSON nu este niciodată încărcată oriunde, ceea ce contează dacă conține date reale ale utilizatorului sau forma de răspuns a unui API intern. Copiază clasa, descarcă-o ca fișier .txt, sau trimite rezultatul înapoi în intrare pentru a converti o bucată imbricată mai departe.