7

asp.net vnextのcamelCase JSONシリアル化を設定する方法を知っている人はいますか? にStartup.csは 2 つの機能があります。

public void ConfigureServices(IServiceCollection services) {}
public void Configure(IApplicationBuilder app) {}

キャメルケースを使用するように JSON.net を設定するにはどうすればよいですか? 以前のasp.netバージョンでは、GlobalConfigurationこのように変更できるオブジェクトがありました

var config = GlobalConfiguration.Configuration;

// Replace the default JsonFormatter with our custom one
var index = config.Formatters.IndexOf(config.Formatters.JsonFormatter);
config.Formatters[index] = new JsonCamelCaseFormatter();

- -アップデート

ありがとうキラン。現在のバージョンの asp.net で動作する更新されたソリューションを次に示します。

services.AddMvc().Configure<MvcOptions>(options =>
{
  int position = options.OutputFormatters.FindIndex(f =>
                        f.Instance is JsonOutputFormatter);

  var settings = new JsonSerializerSettings()
  {
         ContractResolver = new CamelCasePropertyNamesContractResolver()
  };
  var formatter = new JsonOutputFormatter();
  formatter.SerializerSettings = settings;

  options.OutputFormatters.Insert(position, formatter);
});
4

0 に答える 0