Json.NET / Newtonsoft.Json lowercase keys

This post is just a quick tip on how to serialize keys in lowercase using Json.NET. The secret is to use a custom ContractResolver. Definition:

public class LowercaseContractResolver : DefaultContractResolver {
    protected override string ResolvePropertyName(string propertyName) {
        return propertyName.ToLower();
    }
}

Usage:

var settings = new JsonSerializerSettings();
settings.ContractResolver = new LowercaseContractResolver();
var json = JsonConvert.SerializeObject(authority, Formatting.Indented, settings);

This will ensure that all keys are in lowercase, even when properties are camelCased etc.


  • Sasha Cherkasoff

    thanks Alexander, this was a time saver!