Custom IContractResolver

April 6, 2024 ยท View on GitHub

This sample uses a custom Argon.IContractResolver to modify how objects are serialized.

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }

    public string FullName => $"{FirstName} {LastName}";
}

snippet source | anchor

var person = new Person
{
    FirstName = "Sarah",
    LastName = "Security"
};

var json = JsonConvert.SerializeObject(person, Formatting.Indented, new JsonSerializerSettings
{
    ContractResolver = new CamelCasePropertyNamesContractResolver()
});

Console.WriteLine(json);
// {
//   "firstName": "Sarah",
//   "lastName": "Security",
//   "fullName": "Sarah Security"
// }

snippet source | anchor