WebApiが返すJSONのフィールド名にFieldが付く

2017/07/08 Web API
細々したプロパティがたくさんあるスケジュールデータをWebサービスから取得し、カレンダーに表示するため、WebApiでJSONに変換する際、JSON用のモデルを作るのが面倒で取得したデータをそのままJSONで投げたところ、JSONの中身をみたら、なぜか"name":valueのname部分がnameFieldと言うようにみんな後ろにFieldが付いている。
原因はWebApiConfig.csの下記の部分をコメントアウトしていたこと。
// JSON データにはキャメル ケースを使用します。
//config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
型に[Serializable]が付いているとprivateの変数もシリアライズされるとのこと。
特にこだわりないのでコメント外しましたが、どうしてもキャメル ケースにして欲しくない!という場合はDefaultContractResolverを指定する必要がありそうです。
config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new DefaultContractResolver();
OK キャンセル 確認 その他