JSON C#-muunnin
Muunna JSON C#-luokiksi ja POCO-objekteiksi .NET-kehitykseen
JSON-syöte
C#-tulos
Mikä on JSON C#-muunnin?
Kun integroit kolmannen osapuolen API:a .NET-sovellukseesi, saat yleensä JSON-dokumentteja mutta tarvitset tyypitettyjä C#-luokkia vastauksen deserialisointiin. Näiden luokkien kirjoittaminen käsin on työlästä — erityisesti syvään sisäkkäisten objektien kanssa. Tämä työkalu luo C# POCO:t automaattisesti JSON:istasi. Liitä esimerkki-API-vastaus ja saat luokkamäärittelyt, jotka voit lisätä suoraan projektiisi. Ne toimivat heti System.Text.Json- tai Newtonsoft.Json-kirjaston kanssa.
Muunnos tapahtuu selaimessasi. Käytä asetuksia asettaaksesi luokan nimen, valitaksesi ominaisuudet vs. kentät ja ottaaksesi nullable-tyypit käyttöön. Mitään ei lähetetä palvelimelle.
Miten työkalua käytetään
Liitä JSON
Liitä JSON vasempaan editoriin tai lataa tiedosto. Käytä Esimerkki esimerkkidataan. Aseta juuriluokan nimi ja asetukset (Ominaisuudet, Nullable) asetuspaneelissa.
Tarkista luokat
Oikea paneeli näyttää generoidut C#-luokat. Sisäkkäisistä objekteista tulee erillisiä luokkia. Taulukoista tulee List<T> tai T[]. Lisää [JsonPropertyName]-attribuutteja tarvittaessa eri JSON-avainten nimille.
Kopioi tai lataa
Käytä Kopioi tai Lataa tiedostona saadaksesi koodin. Liitä .NET-projektiisi. JSON:n muotoiluun ensin käytä JSON-muotoilutyökalua. Validointiin käytä JSON-tarkistinta.
JSON C#-muunnoksen esimerkkejä
Tässä esimerkki C#-luokkien generoinnista JSON-objektista.
Esimerkki: Tilaajatietue
JSON-syöte:
Generoitu C#-tulos:
Milloin JSON C#-muunnin auttaa
Integroitaessa REST-API:ita .NET:ssä, ASP.NET Core:ssa tai Blazorissa tarvitset C#-tyypit deserialisointiin. Liittämällä esimerkkivastauksen saat POCO:t joita voit käyttää JsonSerializer.Deserialize<T>():n tai Newtonsoft.Json:n kanssa. API-testaukseen Postman ja jq ovat hyödyllisiä.
Usein kysyttyä
Miten deserialisoin JSON:in C#:ssa?
Käytä JsonSerializer.Deserialize<LuokkaSi>(jsonString) System.Text.Json:ista tai JsonConvert.DeserializeObject<LuokkaSi>(jsonString) Newtonsoft.Json:ista. Tarvitset vastaavan C#-luokan — luo sellainen tässä liittämällä JSON:si.
Mitä jos JSON-avaimeni eivät vastaa C#:n nimeämiskäytäntöjä?
Käytä [JsonPropertyName("json_key")] ominaisuudessa (System.Text.Json) tai [JsonProperty("json_key")] (Newtonsoft). Voit myös asettaa JsonSerializerOptions.PropertyNamingPolicy:n arvoksi JsonNamingPolicy.CamelCase automaattista yhdistämistä varten.
Entä C#:n nullable-viitetyypit?
Ota Nullable Types käyttöön asetuksissa saadaksesi string?, int? jne. Hyödyllinen kun JSON-kentät voivat olla null tai puuttua. Tarvitset #nullable enable tai nullable-yhteensopivan projektiasetuken.
Lähetetäänkö JSON:ni palvelimelle?
Ei. Luokkien luominen tapahtuu kokonaan selaimessasi. JSON ei koskaan poistu koneeltasi, joten se on turvallista käyttää tuotanto-API-avainten tai arkaluonteisten tietojen kanssa.
Ominaisuudet vai kentät — kumpaa käyttää?
Ominaisuudet (get; set;) ovat standardi DTO:ille C#:ssa. Sekä System.Text.Json että Newtonsoft.Json serialisoivat julkiset ominaisuudet oletuksena. Kentät toimivat, mutta ne ovat harvinaisempia tiedonsiirto-objekteissa.
Liittyvät työkalut
System.Text.Json. Newtonsoft.Json. JSON-määrittely. RFC 8259. MDN. .NET. Postman.