Json.Net一次不允许一个以上的合同解析器,因此您将需要一种组合其行为的方法。我假设这
NullToEmptyStringResolver是一个自定义解析器,它继承自Json.Net的
DefaultContractResolver类。如果是这样,一种实现所需结果的简单方法是改为
NullToEmptyStringResolver继承
CamelCasePropertyNamesContractResolver。
public class NullToEmptyStringResolver : CamelCasePropertyNamesContractResolver{ ...}如果您不喜欢这种方法,则另一个想法是将骆驼肠衣的行为添加到
NullToEmptyStringResolver。如果您看一下如何
CamelCasePropertyNamesContractResolver在源代码中实现,您会发现这就像
NamingStrategy在构造函数中设置一样简单(假设您使用的是Json.Net
9.0.1或更高版本)。您可以将相同的代码添加到的构造函数中
NullToEmptyStringResolver。
public class NullToEmptyStringResolver : DefaultContractResolver{ public NullToEmptyStringResolver() : base() { NamingStrategy = new CamelCaseNamingStrategy { ProcessDictionaryKeys = true, OverrideSpecifiedNames = true }; } ...}


