ASP.NET Core WEB API プログラミング

【 ASP.NET WEBAPI 】JSONキーの先頭が小文字になる(CamelCasing)

ASP.NET Core Ver 3以降の仕様


ASP.NET Core のVer 3以降では、WEBAPI MVCのフレームワークでは、オブジェクトをJSONに変換した際、キーの先頭が自動で小文字Camel Casing)になってしまいます。

これはSystem.Text.Json JsonSerializerクラスのシリアライズ/デシリアライズのデフォルト設定によるものです。

例えば、JSON シリアライズの対象となる以下のようなクラスがあったとします。

Mail と Name の各プロパティ名は大文字で設定されています。
しかし、JSON にシリアライズすると先頭文字が小文字になってしまいます。

public class Department
{
    public string Mail{ get; set; }

    public string Name{ get; set; }
}
{"mail":"******@gmail.com", "name":"Tarou"}

JsonSerializerOptions 設定

上記で解説したJSONシリアライズした際にキーの頭文字が小文字になってしまう (Camel Casing) 現象ですが、

JsonSerializerOptions PropertyNamingPolicy 設定を以下のようにProgram.csに記述することで回避することが可能です。

services.AddControllersWithViews().AddJsonOptions(options =>
{
    options.JsonSerializerOptions.PropertyNamingPolicy = null;
});

おすすめ記事はコチラ

ASP.NET Web Forms 1

この記事ではマイクロソフト社が開発・提供しているWebアプリケーション開発用フレームワーク「ASP.NET」の「Web Forms」を「MVC」と比較しながらメリットやデメリット等を含めて解説していき ...

C#VB 2

今回はC#(ver.7.0以降)、VB(ver. 15以降)でforeachループ内で繰り返し回数を参照する方法について解説していきます。 従来の記述方法とよりスマートに記述する方法の2通りを以下にな ...

3

この記事ではSQL Serverで使用できる「STUFF」という便利な関数の使い方について、解説していきます! 他にも便利な関数があれば、別記事にて使用方法を解説していきたいと思います! STUFF ...

4

今回はSQL ServerでデータをXML形式で取得する方法について書いていきます。 FOR XML PATH SQL Serverには「FOR XML PATH」という関数があって、SQL分の末尾に ...

-ASP.NET Core, WEB API, プログラミング
-, ,