Preskoči na sadržaj
100% lokalno

JSON u C# klasu

Pretvori JSON uzorak u gotove C# klase.

Unos
Rezultat

JSON u C# klasu

Zalijepite JSON objekt ili niz JSON objekata pa će ovaj alat zaključiti strukturu i generirati odgovarajuće C# klase. Izgrađen je za svakodnevni zadatak pretvaranja API odgovora, datoteke s konfiguracijom ili uzorka tereta u snažno tipiziranog modele bez pisanja vlastitog koda.

Opcije upravljaju izgledom generiranoga koda. Odaberite atribute za System.Text.Json ([JsonPropertyName]), Newtonsoft.Json ([JsonProperty]) ili nikakve — atributi se dodaju automatski kad god PascalCase preimenovanje mijenja naziv svojstva, tako da se originalni ključ JSON-a nikad ne gubi. Odaberite svojstva ili polja, uključite ili isključite nullable tipove referencije, generirajte record umjesto klase i odaberite List<T> ili T[] za nizove. Ugniježđeni objekti postaju vlastite klase po nazivu svojstva koja ih drže, a deklaracija prostora imena sve umota kad god je navedete.

Alat spaja oblike svih elemenata kad zalijepite niz, tako da ključ prisutan samo na nekim stavkama postaje opcionalno, nullable svojstvo umjesto da tiho nestane. Brojevi ostaju cijeli brojevi (int, proširavajući se na long za veće vrijednosti) osim ako točka prisili double, a vrijednost koja je samo ikada null postaje nullable objekt. Naziva klasa i svojstava se sanira i automatski deduplikuje, tako da nevaljani ili ponovljeni ključevi JSON-a nikad ne proizvode neispravan C#.

Svega se izvršava lokalno u vašem pregledniku — vaš JSON se nikad ne učitava niti šalje na poslužitelj, što je važno kada uzorak dolazi iz privatnog API-ja ili sadrži stvarne podatke kupaca. Kopirajte generirane klase, preuzmite ih kao .txt datoteku ili ponovno pošaljite izlaz u unos da ga dalje usavršite.

FAQ

Kako odluči između int, long i double?
Cijeli brojevi postaju int, ili long kad nadmašu 32-bitni raspon. Svaki broj s točkom ili koji se razlikuje od cijelog broja negdje drugdje u nizu postaje double.
Što se dogodi sa svojstvom koje nedostaje iz nekih stavaka niza?
Generirano je kao nullable svojstvo. S nullable tipovima referencije to dodaje "?"; isto se primjenjuje na vrijednost koja je uvijek null.
Može li čuvati originalni ključ JSON-a kad preimenujem svojstvo?
Da. Kad god PascalCase preimenovanje ili sanacija promijeni naziv svojstva, originalni ključ je sačuvan u atributu [JsonPropertyName] ili [JsonProperty], ovisno o stilu atributa koji ste odabrali.
Generirano li ugniježđene klase za ugniježđene objekte?
Da. Svaki ugniježđeni objekt dobija svoju klasu po nazivu svojstva koja ga sadrži, a nizovi objekata generiraju klasu po singularnom obliku toga svojstva.
Učitava li se negdje moj JSON?
Ne. Pretvorba se izvršava potpuno u vašem pregledniku — vaš JSON nikad ne napušta vašu napravu.