Blueprint for data structure:
public class Movie
{
public string Name { get; set; }
}
Using Newtonsoft.Json, I have the following confi
Json.Net does not allow more than one contract resolver at a time, so you will need a way to combine their behaviors. I'm assuming that NullToEmptyStringResolver
is a custom resolver which inherits from Json.Net's DefaultContractResolver
class. If so, one simple way to achieve your desired result is to make the NullToEmptyStringResolver
inherit from CamelCasePropertyNamesContractResolver
instead.
public class NullToEmptyStringResolver : CamelCasePropertyNamesContractResolver
{
...
}
If you don't like that approach, another idea is to add the camel casing behavior to yourNullToEmptyStringResolver
. If you take a look at how CamelCasePropertyNamesContractResolver
is implemented in the source code, you'll see this is as simple as setting the NamingStrategy
in the constructor (assuming you are using Json.Net 9.0.1 or later). You can add this same code to the constructor of yourNullToEmptyStringResolver
.
public class NullToEmptyStringResolver : DefaultContractResolver
{
public NullToEmptyStringResolver() : base()
{
NamingStrategy = new CamelCaseNamingStrategy
{
ProcessDictionaryKeys = true,
OverrideSpecifiedNames = true
};
}
...
}