Ga naar inhoud
100% lokaal

JSON naar C# klasse

Zet een JSON-voorbeeld om in kant-en-klare C# klassen.

Invoer
Uitvoer

JSON naar C# klasse

Plak een JSON-object of een array van JSON-objecten in en dit hulpmiddel leidt de structuur af en genereert overeenkomstige C# klassen. Het is gebouwd voor de dagelijkse taak van het omzetten van een API-antwoord, een configuratiebestand of een voorbeeld-payload in sterk getypeerde modellen zonder deze handmatig te schrijven.

De opties bepalen hoe de gegenereerde code eruit ziet. Kies attributen voor System.Text.Json ([JsonPropertyName]), Newtonsoft.Json ([JsonProperty]) of geen — attributen worden automatisch toegevoegd wanneer PascalCase-hernoemen een eigenschapsnaam wijzigt, zodat de oorspronkelijke JSON-sleutel nooit verloren gaat. Kies tussen eigenschappen of velden, zet nullable-referentietypen aan of uit, genereer een record in plaats van een klasse, en kies List<T> of T[] voor arrays. Geneste objecten worden hun eigen klassen, genoemd naar de eigenschap die ze bevat, en een namespace-declaratie omhult alles wanneer u er een opgeeft.

Het hulpmiddel voegt de vormen van alle elementen samen wanneer u een array plakt. Een sleutel die maar bij sommige elementen aanwezig is, wordt een optionele, nullable eigenschap. Getallen blijven gehele getallen (int, waarbij long wordt gebruikt voor grotere waarden), tenzij een decimaalteken double forceert. Een waarde die alleen null is, wordt een nullable object. Klasse- en eigenschapsnamen worden automatisch opgeschoond en gededupliceerd, zodat ongeldige of herhaalde JSON-sleutels nooit tot gebroken C# leiden.

Alles draait lokaal in uw browser — uw JSON wordt nooit geüpload of naar een server verzonden, wat belangrijk is als het voorbeeld afkomstig is van een privé-API of echte klantgegevens bevat. Kopieer de gegenereerde klassen, download ze als .txt-bestand, of stuur de uitvoer terug naar de invoer om deze verder aan te passen.

FAQ

Hoe beslist het tussen int, long en double?
Gehele getallen worden int, of long wanneer ze het 32-bits bereik overschrijden. Elk getal met een decimaalteken of dat elders in een array met een geheel getal in strijd is, wordt double.
Wat gebeurt er met een eigenschap die in enkele array-elementen ontbreekt?
Het wordt gegenereerd als een nullable eigenschap. Met nullable-referentietypen ingeschakeld, voegt dat een "?" toe; hetzelfde geldt voor een waarde die altijd null is.
Kan het de oorspronkelijke JSON-sleutel behouden bij hernoeming van een eigenschap?
Ja. Telkens wanneer PascalCase-hernoemen of zuivering een eigenschapsnaam wijzigt, wordt de originele sleutel behouden in een [JsonPropertyName] of [JsonProperty] attribuut, afhankelijk van de attribuutstijl die u kiest.
Genereert het geneste klassen voor geneste objecten?
Ja. Elk genest object krijgt zijn eigen klasse, genoemd naar de eigenschap die het bevat, en arrays van objecten genereren een klasse, genoemd naar de enkelvoudige vorm van die eigenschap.
Wordt mijn JSON ergens geüpload?
Nee. De conversie draait volledig in uw browser — uw JSON verlaat nooit uw apparaat.