JSON till C# — Generera klasser
Konvertera JSON till C#-klasser online med System.Text.Json- eller Newtonsoft.Json-attribut, nullbara typer och List<T>. Gratis och privat i webbläsaren.
🔒 Körs helt i din webbläsare — ingenting laddas uppFörvandla JSON till C#-modellklasser
Den här JSON till C#-konverteraren läser ett JSON-exempel och genererar starkt typade C#-klasser som matchar dess form. Varje objekt blir en public partial class, varje egenskap får ett PascalCase-namn med ett serialiseringsattribut som kopplar tillbaka till den ursprungliga JSON-nyckeln, och nästlade objekt blir egna klasser uppkallade efter egenskapen som håller dem. Arrayer blir List<T> eller T[], ISO-datum blir DateTimeOffset, och värden som ibland saknas eller är null genereras som nullbara typer, så att din kod kompilerar mot verkliga data och inte mot en idealiserad version.
Under huven använder verktyget quicktype, en mogen motor för typinferens som slår ihop alla element i en array innan den bestämmer typen. En lista med ordrar där bara vissa ordrar har en kupong ger därför fortfarande en enda Order-klass med en valfri Coupon-egenskap, i stället för en klass som bara passar det första elementet.
System.Text.Json eller Newtonsoft
Moderna .NET-projekt använder oftast System.Text.Json, som är standard här: egenskaperna förses med [JsonPropertyName] och resultatet innehåller en FromJson-fabriksmetod, en ToJson-tilläggsmetod och konverterarinställningar för ISO-datum. Om din kodbas fortfarande använder Json.NET byter du serialiserare till Newtonsoft och får [JsonProperty]-attribut med samma hjälpfunktioner byggda på JsonConvert. Välj Classes only när du bara vill ha POCO-klasserna att klistra in i en befintlig DTO-mapp, och ange namnrymden så att filen passar direkt i din solution.
Tips för korrekta C#-typer
Klistra in det rikaste exemplet du hittar: ta med valfria fält, tomma och fyllda arrayer samt fler än ett arrayelement, så att inferensen ser vilka egenskaper som alltid finns. Byt namn på rotklassen från Root till något meningsfullt som OrderResponse innan du laddar ner — filnamnet följer med. När du har klistrat in koden i Visual Studio eller Rider bör du granska typer som exemplet inte kan avslöja: ett heltals-ID som kan överstiga long, en sträng som egentligen är en enum eller penningvärden som förtjänar decimal. Allt körs lokalt, så det är säkert att använda svar från produktion medan du arbetar.
Hur man använder
- Klistra in JSONKlistra in ett JSON-objekt eller en array, eller klicka på Load sample för att prova.
- Ange alternativVälj rotklassens namn, namnrymd, serialiserare och samlingstyp.
- Kopiera klassernaKopiera den genererade C#-koden eller ladda ner den som en .cs-fil till ditt projekt.
Vanliga frågor
Stöds både System.Text.Json och Newtonsoft.Json?
[JsonPropertyName]- eller [JsonProperty]-attribut samt konverterarhjälp för det biblioteket.Kan jag få vanliga klasser utan serialiserarhjälp?
Hur typas datum, decimaltal och null-värden?
DateTimeOffset, tal med decimaler blir double, och fält som saknas eller är null i vissa exempel blir nullbara.