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

1

Liitä JSON

Liitä JSON vasempaan editoriin tai lataa tiedosto. Käytä Esimerkki esimerkkidataan. Aseta juuriluokan nimi ja asetukset (Ominaisuudet, Nullable) asetuspaneelissa.

2

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.

3

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:

Syöte

Generoitu C#-tulos:

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.