.NET Framework Sérialisation à l'aide de Json.NET


Exemple

[JsonObject("person")]
public class Person
{
    [JsonProperty("name")]
    public string PersonName { get; set; }
    [JsonProperty("age")]
    public int PersonAge { get; set; }
    [JsonIgnore]
    public string Address { get; set; }
}

Person person = new Person { PersonName = "Andrius", PersonAge = 99, Address = "Some address" };
string rawJson = JsonConvert.SerializeObject(person);

Console.WriteLine(rawJson); // {"name":"Andrius","age":99}

Remarquez comment les propriétés (et les classes) peuvent être décorées avec des attributs pour modifier leur apparence dans la chaîne json résultante ou pour les supprimer de la chaîne json (JsonIgnore).

Vous trouverez plus d'informations sur les attributs de sérialisation Json.NET ici .

En C #, les identifiants publics sont écrits en PascalCase par convention. En JSON, la convention est d'utiliser camelCase pour tous les noms. Vous pouvez utiliser un résolveur de contrat pour convertir entre les deux.

using Newtonsoft.Json;
using Newtonsoft.Json.Serialization;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
    [JsonIgnore]
    public string Address { get; set; }
}

public void ToJson() {
    Person person = new Person { Name = "Andrius", Age = 99, Address = "Some address" };
    var resolver = new CamelCasePropertyNamesContractResolver();
    var settings = new JsonSerializerSettings { ContractResolver = resolver };
    string json = JsonConvert.SerializeObject(person, settings);

    Console.WriteLine(json); // {"name":"Andrius","age":99}
}