UTILS.
100% in de browser
💠

JSON naar C#-klassen

Genereer C#-modelklassen uit een JSON-voorbeeld voor System.Text.Json of Newtonsoft.Json, met PascalCase-eigenschappen en nullable waardetypes.

uitvoer

Over deze tool

De tool JSON naar C#-klassen zet een geplakte JSON-voorbeeld om in C#-modelklassen of -records, zodat .NET-ontwikkelaars in seconden DTO's uit een API-response kunnen steigeren. Het parseert de JSON, leidt C#-types recursief af en produceert één type per object: strings worden string, ISO datum-tijdstrings DateTime, integers int of long, andere getallen double, booleans bool, arrays List<T>, en geneste objecten hun eigen PascalCase-klassen gedeclareerd vóór de ouders die ernaar verwijzen.

Alle parsering en codegeneratie gebeurt lokaal in je browser met JSON.parse en gewoon JavaScript — er wordt niets geüpload. Eigenschappen worden geproduceerd als PascalCase auto-properties, public T Prop { get; set; }. Wanneer de JSON-sleutel afwijkt van de PascalCase-eigenschapsnaam voegt de tool [JsonPropertyName("originalKey")] toe voor System.Text.Json of [JsonProperty("originalKey")] voor Newtonsoft, en alleen de vereiste using-directives worden opgenomen.

Waardetype-eigenschappen die in enig voorbeeld null kunnen zijn worden nullable gemaakt (int?, double?, bool?, DateTime?), terwijl referentietypes zoals string en List al nullable zijn. De serializer-schakelaar wisselt de attribuut- en using-stijl tussen System.Text.Json (standaard) en Newtonsoft.Json; de vorm-schakelaar produceert ofwel klassen (standaard) of records. Kopieer de code of download deze als een .cs-bestand.

Veelgestelde vragen

Hoe worden JSON-types op C# afgebeeld?
string naar string, een ISO datum-tijd naar DateTime, integer naar int (long buiten het int-bereik), niet-integer getal naar double, boolean naar bool, array naar List<T>, en object naar een benoemde klasse of record. Nullable waardetypes krijgen de afsluitende ?-modifier.
System.Text.Json of Newtonsoft?
De serializer-schakelaar kiest een van beide. Het bepaalt het gebruikte attribuut wanneer een eigenschapsnaam afwijkt van de JSON-sleutel — [JsonPropertyName("key")] voor System.Text.Json of [JsonProperty("key")] voor Newtonsoft — en de bijbehorende using-directive.
Kan ik records genereren in plaats van klassen?
Ja. De vorm-schakelaar wisselt tussen public class (standaard) en public record, met behoud van dezelfde PascalCase auto-properties en JSON-attributen zodat je de stijl kunt kiezen die je codebase verkiest.
Wordt de JSON privé verwerkt?
Ja. Alles draait in je browser met JSON.parse en gewoon JavaScript; het voorbeeld wordt nooit geüpload, dus het plakken van echte API-payloads is veilig.

Meer tools