C#:
Arbeider med JSON
Hvordan:
Parse JSON-streng til et objekt
C# tilbyr navneområdet System.Text.Json
for effektiv JSON-behandling. For å parse en JSON-streng til et C#-objekt, definerer du en klasse som matcher JSON-strukturen og bruker metoden JsonSerializer.Deserialize
.
using System;
using System.Text.Json;
public class Person
{
public string Navn { get; set; }
public int Alder { get; set; }
}
public class Program
{
public static void Main()
{
string jsonString = "{\"Navn\":\"John\", \"Alder\":30}";
Person person = JsonSerializer.Deserialize<Person>(jsonString);
Console.WriteLine($"Navn: {person.Navn}, Alder: {person.Alder}");
// Utdata: Navn: John, Alder: 30
}
}
Generere JSON fra et objekt
For å konvertere et C#-objekt tilbake til en JSON-streng, bruk metoden JsonSerializer.Serialize
.
using System;
using System.Text.Json;
public class Program
{
public static void Main()
{
Person person = new Person
{
Navn = "Jane",
Alder = 25
};
string jsonString = JsonSerializer.Serialize(person);
Console.WriteLine(jsonString);
// Utdata: {"Navn":"Jane","Alder":25}
}
}
Bruke Newtonsoft.Json
Newtonsoft.Json
(eller Json.NET) er et populært tredjepartsbibliotek som tilbyr mer fleksibilitet og alternativer for JSON-serialisering og -deserialisering.
For å bruke Json.NET, må du først installere Newtonsoft.Json
-pakken via NuGet. Deretter kan du deserialisere en JSON-streng slik:
using System;
using Newtonsoft.Json;
public class Program
{
public static void Main()
{
string jsonString = "{\"Navn\":\"Mike\", \"Alder\":22}";
Person person = JsonConvert.DeserializeObject<Person>(jsonString);
Console.WriteLine($"Navn: {person.Navn}, Alder: {person.Alder}");
// Utdata: Navn: Mike, Alder: 22
}
}
For å generere JSON fra et objekt med Json.NET:
using System;
using Newtonsoft.Json;
public class Program
{
public static void Main()
{
Person person = new Person
{
Navn = "Ella",
Alder = 28
};
string jsonString = JsonConvert.SerializeObject(person);
Console.WriteLine(jsonString);
// Utdata: {"Navn":"Ella","Alder":28}
}
}
Disse kodestykkene gir en rask start på håndtering av JSON i C#, og demonstrerer både de innebygde System.Text.Json
-mulighetene og de omfattende funksjonene til Newtonsoft.Json
.