ASP.NET MVC コントローラー メソッドから JSON.NET によってシリアル化されたキャメルケース JSON を返すにはどうすればよいでしょうか? 質問する

ASP.NET MVC コントローラー メソッドから JSON.NET によってシリアル化されたキャメルケース JSON を返すにはどうすればよいでしょうか? 質問する

私の問題は、標準的なパスカルケースではなくキャメルケースの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
};

おすすめ記事