Ugrás a tartalomhoz
100% helyi

JSON C# osztállyá

Alakítson JSON mintát használatra kész C# osztályokká.

Bemenet
Kimenet

JSON C# osztállyá

Illesszen be egy JSON objektumot vagy JSON objektumok tömbjét, és ez az eszköz feltárja az alakzatot, valamint megfelelő C# osztályokat generál. Az API válaszok, konfigurációs fájlok vagy minta hasznos adatok érdemi, beírt modelekké alakításához készült, anélkül hogy kézzel kellene megírni azokat.

A beállítások a generált kód megjelenésének vezérlésére szolgálnak. Válasszon attribútumokat a System.Text.Json-hez ([JsonPropertyName]), a Newtonsoft.Json-hez ([JsonProperty]) vagy egyikhez sem — az attribútumok automatikusan hozzáadódnak, ha a PascalCase átnevezés megváltoztat egy tulajdonságnevet, így az eredeti JSON kulcs soha nem veszik el. Válasszon tulajdonságokat vagy mezőket, kapcsolja be vagy ki a nullable referencia típusokat, generáljon egy recordot egy osztály helyett, és válassza ki a List<T> vagy T[] elemet a tömbök számára. Beágyazott objektumok saját osztályokká válnak, amelyek neve a őket tartalmazó tulajdonság után van elnevezve, és a névtér deklaráció mindent becsomagol, amikor megad egyet.

Az eszköz egyesíti az alakzatokat, amikor tömböt illeszt be, így az olyan kulcs, amely csak néhány elemen van jelen, opcionális, nullable tulajdonsággá válik ahelyett, hogy csendes fogyatkozna. A számok egész számok maradnak (int, hosszabb értékekhez widening long), hacsak egy tizedesjegy nem kényszerít ki double-t, és a csak nullára beállított érték nullable objektummá válik. Az osztály és a tulajdonság nevek automatikusan szanitálva és deduplicálva vannak, így az érvénytelen vagy ismétlődő JSON kulcsok soha nem előidézik a sérült C#-ot.

Minden helyileg futtatható a böngészőjében — a JSON nem kerül fel vagy küldésre a szerverre, ami akkor fontos, ha a minta privát API-ból vagy valós ügyfél adatokból származik. Másolja ki a generált osztályokat, töltse le őket .txt fájlként, vagy küldje vissza a kimenetet a bemenetbe a pontosítás érdekében.

Gyakori kérdések

Hogyan dönt az int, long és double között?
Az egész számok int értékűek, vagy long, ha meghaladják a 32-bites tartományt. Bármely tizedesjegyet tartalmazó szám vagy amely nem egyezik az egész számmal egy tömbben máshol, double lesz.
Mi történik egy olyan tulajdonsággal, amely hiányzik néhány tömb elemből?
Nullable tulajdonságként generálódik. Az engedélyezett nullable referencia típusokkal a "?" hozzáadódik; ugyanez érvényes azokra az értékekre, amelyek mindig null.
Megőrizheti az eredeti JSON kulcsot a tulajdonság átnevezésekor?
Igen. Bármikor, amikor a PascalCase átnevezés vagy szanitálás megváltoztat egy tulajdonságnevet, az eredeti kulcs megmarad egy [JsonPropertyName] vagy [JsonProperty] attribútumban, a kiválasztott attribútum stílustól függően.
Generál beágyazott osztályokat beágyazott objektumokhoz?
Igen. Minden beágyazott objektum saját osztályt kap, amely annak a tulajdonságnak a neve után van elnevezve, amely tartalmazza, és az objektumok tömbje az adott tulajdonság egyes száma után elnevezett osztályt generál.
A JSON valahova fel van töltve?
Nem. A konverzió teljes egészében a böngészőjében fut — a JSON soha nem hagyja el az eszközét.