首页 > 解决方案 > 如何使用 Json.NET 对特定属性进行驼峰式处理?

问题描述

我想使用 Json.NET 而不是所有属性来处理对象的特定属性。

我有一个这样的对象:

class A {
    public object B { get; set; }
    public object C { get; set; } // this property should be camel cased
}

我希望它被序列化为:

{ B: 1, c: 2 }

我遇到了这篇关于骆驼无条件封装所有属性的帖子,这是使用以下方法完成的:

var settings = new JsonSerializerSettings
{
    ContractResolver = new CamelCasePropertyNamesContractResolver()
};

var json = JsonConvert.SerializeObject(a, settings);

但我找不到骆驼壳特定属性的对应问题。这是怎么做到的?

标签: c#json.netcamelcasing

解决方案


您可以应用JsonPropertyAttribute's NamingStrategyType到您想要驼峰式案例的领域:

class A 
{
    [JsonProperty(NamingStrategyType = typeof(CamelCaseNamingStrategy))]
    public object C { get; set; }
}

或者您可以直接指定属性的名称:

class A 
{
    [JsonProperty("c")]
    public object C { get; set; }
}

推荐阅读