オン RC2
同じコードは、キャメルケース付きのjson形式を返します。 Netcore 1.0リリース後、新しいプロジェクトを開始しましたが、同じコードは小文字でjsonを返しています。
複数のソリューションを試しましたが、どれも機能していませんでした web-api-serialize-properties-starting-from-lowercase-letter
services
.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver
= new Newtonsoft.Json.Serialization.DefaultContractResolver();
});
これにより、JSONオブジェクトの名前は.NETクラスプロパティと同じになります。
この方法でJSONの動作を構成できます。
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc()
.AddJsonOptions(options =>
{
options.SerializerSettings.ContractResolver =
new CamelCasePropertyNamesContractResolver();
});
}
これは、グローバルレベルではなく、個々のシリアライザーレベルでも実行できます。
たとえば、コントローラーアクションメソッドでオブジェクトをJSONとして返すには、次のようにします。
var jsonSerializerSettings = new JsonSerializerSettings { ContractResolver = new DefaultContractResolver() };
return new JsonResult(myObject, jsonSerializerSettings);
そして、結果のJSON文字列は、.NETクラス/プロパティ名と一致するために、予想されるPascalCaseに含まれます。