JSON v Dart razred
Pretvori vzorec JSON v Dart razred s fromJson, toJson in ugniježđenimi modeli.
JSON v Dart razred
Prilepite vzorec JSON in to orodje sklepa obliko podatkov in generiše ustrezen Dart razred — tak, kot bi ga drugače napisali za Flutter model. Ugniježđeni objekti postanejo svoje razrede, nizi postanejo tipizirana `List<...>` polja, in vsak razred ima poimenovani konstruktor, `fromJson` tovarno metodo in `toJson` metodo, tako da rezultat ravno gre v Flutter ali Dart projekt.
Možnosti nadzorujejo stil generirane kode. "Naziv razreda" nastavi korenski razred; ugniježđeni razredi so poimenovani po ključu JSON, ki ga je predstavil. "Varnost pred ničlo s zahtevanimi polji" označi polja, ki se pojavijo v vsakem vzorcu, kot `required` s tipom, ki ne sme biti ničlen, in polja, ki se včasih ne pojavijo ali so ničelna, kot ničelno in izbirno — izklopite ga, da bi bila vsa polja ničelna namesto tega, kar je bolj strpno do neusklajenih odgovorov API. "json_serializable opombe" preklopi s ročno napisanih `fromJson`/`toJson` teles na `@JsonSerializable()` in `@JsonKey` opombe, ki delegira generirani datoteki `.g.dart` part, za projekte, ki že uporabljajo ta paket in build_runner. "Končna polja" naredijo razred nespremenljiv; "Generiraj copyWith" doda metodo za ustvarjanje spremenjene kopije brez mutiranja izvirnika, in "Generiraj == in hashCode" doda enakost vrednosti, tako da sta dve instanci z enakimi vrednostmi polj enaki. "Zamik" preklopi generirano kodo med 2 in 4 presledkami.
Ko se ista oblika objekta ponovi — niz elementov, ki imajo vsa ista polja, na primer — orodje ponovno uporabi en razred namesto da generiše duplikat za vsako pojavitev, in polje, ki manjka le nekaterim elementom v nizu, je pravilno sklepano kot izbirno namesto zahtevanega. Ključi JSON, ki niso veljavni Dart identifikatorji, uporabljajo drugačno ehranko ali se spopadajo s ključno besedo ali generirano imena metode (kot `copyWith` ali `hashCode`), se samodejno preimenujejo na strani Dart, medtem ko se izvirni ključ ohrani za kodiranje in dekodiranje.
Vse se izvršuje lokalno v vašem brskalniku: vzorec JSON se nikoli ne pošlje nikamor, kar je pomembno, če vsebuje resnične podatke uporabnika ali obliko odgovora notranjega API-ja. Kopirajte razred, ga prenesite kot datoteko .txt ali pošljite rezultat nazaj v vnos, da pretvori en ugniježđeni del naprej.