Preskočiť na obsah
100% lokálne

JSON na C# triedu

Preveďte JSON vzorku na hotové C# triedy.

Vstup
Výstup

JSON na C# triedu

Vložte JSON objekt alebo pole JSON objektov a tento nástroj odvodí štruktúru a vygeneruje zodpovedajúce C# triedy. Je vytvorený na bežnú úlohu premeny API odpovede, konfiguračného súboru alebo vzorového payloadu na typizované modely bez ručného ich písania.

Možnosti určujú, ako bude vygenerovaný kód vyzerať. Zvoľte si atribúty pre System.Text.Json ([JsonPropertyName]), Newtonsoft.Json ([JsonProperty]) alebo žiadne — atribúty sa pridávajú automaticky, keď rename na PascalCase zmení názov vlastnosti, takže pôvodný kľúč JSON sa nikdy nestratí. Zvoľte si vlastnosti alebo polia, zapnite alebo vypnite nullable reference types, vygenerujte record namiesto triedy a zvoľte si List<T> alebo T[] pre polia. Vnorené objekty sa stanú vlastnými triedami pomenovanými podľa vlastnosti, ktorá ich obsahuje, a deklarácia namespace všetko zabalí, keď ju poskytnete.

Nástroj zlúči tvary všetkých prvkov, keď vložíte pole, takže kľúč prítomný iba na niektorých položkách sa stane volitnou, nullable vlastnosťou namiesto tichého zmiznutia. Čísla zostávajú celými číslami (int, rozšírením na long pre väčšie hodnoty), pokiaľ desatinná čiarka nevynúti double, a hodnota, ktorá je vždy null, sa stane nullable objektom. Názvy tried a vlastností sa deštrukturalizujú a deduplikujú automaticky, takže neplatné alebo opakované kľúče JSON nikdy nevyprodukujú chybný C#.

Všetko beží lokálne vo vašom prehliadači — váš JSON sa nikdy nenahrá ani nepošle na server, čo je dôležité, keď vzorka pochádza z privátneho API alebo obsahuje skutočné údaje zákazníkov. Skopírujte vygenerované triedy, stiahnite ich ako súbor .txt alebo pošlite výstup späť do vstupu, aby ste ho ďalej spresnili.

Časté otázky

Ako to rozhoduje medzi int, long a double?
Celé čísla sa stanú int, alebo long, keď presahujú rozsah 32-bitov. Akékoľvek číslo s desatinnou čiarkou alebo ktoré sa líši od celého čísla inde v poli sa stane double.
Čo sa stane s vlastnosťou, ktorá chýba niektorým prvkom poľa?
Vygeneruje sa ako nullable vlastnosť. S nullable reference types zapnutým to pridá "?"; to isté platí pre hodnotu, ktorá je vždy null.
Môže to zachovať pôvodný kľúč JSON, keď premení názov vlastnosti?
Áno. Kedykoľvek rename na PascalCase alebo čistenie zmení názov vlastnosti, pôvodný kľúč sa zachová v atribúte [JsonPropertyName] alebo [JsonProperty], v závislosti od štýlu atributu, ktorý ste zvolili.
Generuje to vnorené triedy pre vnorené objekty?
Áno. Každý vnorený objekt dostane vlastnú triedu pomenovanú podľa vlastnosti, ktorá ho obsahuje, a pole objektov generuje triedu pomenovanú podľa jednotného tvaru tejto vlastnosti.
Je môj JSON niekde nahravaný?
Nie. Konverzia beží úplne vo vašom prehliadači — váš JSON nikdy neopustí vaše zariadenie.