Přeskočit na obsah
100% lokálně

JSON na třídu C#

Převeďte vzor JSON na připravené třídy C#.

Vstup
Výstup

JSON na třídu C#

Vložte objekt JSON nebo pole objektů JSON a tento nástroj odvodí tvar a vygeneruje odpovídající třídy C#. Je sestaven pro běžný úkol přeměny odpovědi API, konfiguračního souboru nebo vzorové datové zátěže na silně typované modely bez jejich psaní ručně.

Možnosti řídí, jak vypadá generovaný kód. Vyberte atributy pro System.Text.Json ([JsonPropertyName]), Newtonsoft.Json ([JsonProperty]) nebo žádné — atributy se přidávají automaticky, kdykoli přejmenování na PascalCase změní název vlastnosti, aby se původní klíč JSON nikdy neztratil. Zvolte vlastnosti nebo pole, přepínejte nullable reference types zapnuto či vypnuto, generujte záznam místo třídy a vyberte List<T> nebo T[] pro pole. Vnořené objekty se stanou vlastními třídami pojmenovanými podle vlastnosti, která je obsahuje, a deklarace oboru názvů vše zabalí, když ji poskytnete.

Nástroj sloučí tvary všech prvků, když vložíte pole, takže klíč přítomný pouze u některých položek se stane nepovinnou vlastností, kterou lze nastavit na null, místo aby tiše zmizel. Čísla zůstávají celá čísla (int, rozšíření na long pro větší hodnoty), pokud to nevynucuje desetinná čárka double, a hodnota, která je vždy null, se stane objektem s možností null. Názvy tříd a vlastností jsou čištěny a automaticky deduplikovány, takže neplatné nebo opakované klíče JSON nikdy nevytvoří chybný C#.

Všechno běží lokálně ve vašem prohlížeči — váš JSON se nikdy nenahraje ani nepošle na server, což je důležité, když vzorek pochází z privátního API nebo obsahuje skutečná data zákazníků. Zkopírujte generované třídy, stáhněte je jako soubor .txt nebo pošlete výstup zpět na vstup, aby se mohl dále zpřesnit.

Časté dotazy

Jak se rozhoduje mezi int, long a double?
Celá čísla se stanou int, nebo long, když překročí 32bitový rozsah. Jakékoliv číslo s desetinnou čárkou nebo které se liší od celého čísla jinde v poli se stane double.
Co se stane s vlastností, která chybí některým prvkům pole?
Vygeneruje se jako vlastnost, kterou lze nastavit na null. Když jsou zapnuty nullable reference types, to přidá "?"; totéž platí pro hodnotu, která je vždy null.
Může to zachovat původní klíč JSON, když přejmenuje vlastnost?
Ano. Kdykoli přejmenování na PascalCase nebo čištění změní název vlastnosti, původní klíč se zachová v atributu [JsonPropertyName] nebo [JsonProperty], v závislosti na stylu atributu, který jste zvolili.
Generuje to vnořené třídy pro vnořené objekty?
Ano. Každý vnořený objekt dostane vlastní třídu pojmenovanou podle vlastnosti, která ho obsahuje, a pole objektů generuje třídu pojmenovanou podle singulární formy této vlastnosti.
Je můj JSON někde nahrán?
Ne. Převod běží zcela ve vašem prohlížeči — váš JSON nikdy neopustí vaše zařízení.