JSON-serialisering
Last updated
Was this helpful?
Last updated
Was this helpful?
är Javascript Object Notation, så för den som är van vid Javascript kanske det ser bekant ut.
Lägg till detta using-statement:
Klassen vars instanser ska kunna serialiseras/deserialiseras måste vara public.
Vad som inkluderas i serialiseringen är:
Publika med publika get och set
Variabler och properties som det står [JsonInclude] framför
Används för att serialisera ett objekt till en JSON-string.
Genom att skicka in ett JsonSerializerOptions-objekt kan man ge mer detaljerade instruktioner till serializern.
OBS: SnakeCaseLower introducerades i dotnet 8!
Används för att deserialisera ett objekt från en JSON-string.
OBS: dessa kräver att du inkluderar System.Text.Json.Serialization
.
Används för att inkludera en variabel eller property i Json-serialiseringen
Används för att se till så att en variabel eller property på C#-sidan inte serialiseras till JSON.
Med attributet [JsonPropertyName()]
kan man bestämma att en C#-klass' property ska matchas mot ett JSON-värde med annat namn.
Ibland beskriver JSON-kod listor av objekt eller värden. De kännetecknas av att ge omges av hakparenteser []
.
Ibland beskriver JSON-kod objekt som innehåller andra objekt.
För att deserialisera dessa, skapa klasser som beskriver de inre objekten.
Om du ska deserialisera JSON-kod som du får från något annat ställe och inte designat själv, så behöver du vara noga med att matcha namnet på dina publika variabler/mot JSON-kodens. Serialiseringsprocessen är normalt känslig vad gäller stora och små bokstäver, men du kan ändra på detta (rekommenderas!).
Denna string kan sedan lagras i en textfil eller t.ex. skickas som svar på ett -anrop.
I JSON används oftast snake_case, medan C# ju använder .
Mer om attribut .
För att deserialisera dessa, skapa helt enkelt publika i klassen.