Как мне использовать верблюжий случай с помощью Json.NET? - PullRequest
0 голосов
/ 11 мая 2018

Я хочу указать конкретные свойства объекта, используя 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);

Но я не смог найти ответный вопрос для верблюжьей шкуры определенного свойства. Как это сделать?

1 Ответ

0 голосов
/ 11 мая 2018

Вы можете применить JsonPropertyAttribute's NamingStrategyType к полю, к которому вы хотите добавить верблюд:

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

Или вы можете указать название объекта напрямую:

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