JSON u Dart klasu
Pretvori JSON uzorak u Dart klasu sa fromJson, toJson i ugniježđenim modelima.
JSON u Dart klasu
Zalijepite primjer JSON i ovaj alat zaključuje oblik podataka i generiše odgovarajuću Dart klasu — onu koju biste inače rukom napisali za Flutter model. Ugniježđeni objekti postaju vlastite klase, nizu postaju tipizirana `List<...>` polja, a svaka klasa dolazi sa imenovanim konstruktorom, `fromJson` fabričnom metodom i `toJson` metodom, tako da rezultat ide direktno u Flutter ili Dart projekat.
Opcije kontrolišu stil generivanog koda. "Naziv klase" postavlja koren klasu; ugniježđene klase se nazivaju prema JSON ključu koji ih je uveo. "Null sigurnost sa obaveznim poljima" označava polja koja su prisutna u svakom uzorku kao `required` sa ne-nullable tipom, i polja koja ponekad nedostaju ili su null kao nullable i opcionalna — isključite da biste sva polja učinili nullable umjesto toga, što je tolerantnije prema nekonzistentnim API odgovorima. "json_serializable anotacije" prebacuje sa rukom napisanih `fromJson`/`toJson` tela na `@JsonSerializable()` i `@JsonKey` anotacije koje delegiraju generivanoj `.g.dart` part datoteci, za projekte koji već koriste taj paket i build_runner. "Konačna polja" čini klasu nepromenljivom; "Generiraj copyWith" dodaje metodu za pravljenje modifikovane kopije bez mutiranja originala, i "Generiraj == i hashCode" dodaje jednakost vrednosti tako da dve instance sa istim vrednostima polja budu jednake. "Uvlaka" prebacuje generirani kod između 2 i 4 razmaka.
Kada se ista forma objekta ponavlja — niz stavki koje sve imaju ista polja, na primer — alat ponovno koristi jednu klasu umesto da generiše duplikat za svaki pojavu, i polje koje nedostaje samo nekim stavkama u nizu je ispravno zaključeno kao opcionalno umesto obaveznog. JSON ključevi koji nisu važeći Dart identifikatori, koriste drugačije razvode, ili se sudaraju sa ključnom reči ili generivanom nazivom metode (kao `copyWith` ili `hashCode`) se automatski preimenovu na Dart strani dok se originalni ključ čuva za kodiranje i dekodiranje.
Sve se izvršava lokalno u vašem pregledniku: nikada se nijedan JSON uzorak nigde učitava, što je važno ako sadrži prave podatke korisnika ili odgovor oblika internog API-ja. Kopirajte klasu, preuzimite je kao .txt datoteku, ili pošaljite rezultat nazad u unos da konvertujete jedan ugniježđeni deo dalje.