Web サイトに Json.Net を使用しています。シリアライザーがデフォルトでキャメルケースのプロパティ名をシリアライズするようにします。手動で割り当てたプロパティ名を変更したくありません。次のコードがあります。
public class TestClass
{
public string NormalProperty { get; set; }
[JsonProperty(PropertyName = "CustomName")]
public string ConfiguredProperty { get; set; }
}
public void Experiment()
{
var data = new TestClass { NormalProperty = null,
ConfiguredProperty = null };
var result = JsonConvert.SerializeObject(data,
Formatting.None,
new JsonSerializerSettings {ContractResolver
= new CamelCasePropertyNamesContractResolver()}
);
Console.Write(result);
}
からの出力Experiment
は次のとおりです。
{"normalProperty":null,"customName":null}
ただし、出力を次のようにしたい:
{"normalProperty":null,"CustomName":null}
これを達成することは可能ですか?