私の問題は、標準的なパスカルケースではなくキャメルケースのJSONデータを返したいということです。アクション結果ASP.NET MVCコントローラーメソッドから取得され、JSON.NET。
例として、次の C# クラスを考えてみましょう。
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
デフォルトでは、MVC コントローラーからこのクラスのインスタンスを JSON として返す場合、次の形式でシリアル化されます。
{
"FirstName": "Joe",
"LastName": "Public"
}
これを(JSON.NET によって)次のようにシリアル化したいと思います。
{
"firstName": "Joe",
"lastName": "Public"
}
どうすればいいですか?
ベストアンサー1
あるいは、簡単に言えば:
JsonConvert.SerializeObject(
<YOUR OBJECT>,
new JsonSerializerSettings
{
ContractResolver = new CamelCasePropertyNamesContractResolver()
});
例えば:
return new ContentResult
{
ContentType = "application/json",
Content = JsonConvert.SerializeObject(new { content = result, rows = dto }, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }),
ContentEncoding = Encoding.UTF8
};