尝试设置JsonOutputFormatter选项:
var jsonFormatter = (JsonOutputFormatter) options.OutputFormatters.FirstOrDefault(f => f is JsonOutputFormatter);
if (jsonFormatter != null)
{
jsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
}
Run Code Online (Sandbox Code Playgroud)
要么
mvcBuilder.AddJsonOptions(jsonOptions =>
{
jsonOptions.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
});
Run Code Online (Sandbox Code Playgroud)
但是,只要我添加这个,我得到:
MissingMethodException:找不到方法:'Newtonsoft.Json.JsonSerializerSettings Microsoft.AspNet.Mvc.Formatters.JsonOutputFormatter.get_SerializerSettings()'.
我正在使用标准 Microsoft.AspNet.Mvc.Formatters.Json (6.0.0-rc1-final)
编辑:通过安装解决它Newtonsoft.Json 6.0.6(降级所有其他参考)
有人已经有了吗?谢谢..
这适用于所有属性:
string resultAsString = await httpResponseMessage.Content.ReadAsStringAsync();
return await Task.Factory.StartNew(() => JsonConvert.DeserializeObject<ApiData>(resultAsString));
Run Code Online (Sandbox Code Playgroud)
虽然这只适用于其中一些:
return await httpResponseMessage.Content.ReadAsAsync<ApiData>();
Run Code Online (Sandbox Code Playgroud)
有什么不同?
有一个非System.Web/HttpContext替代HttpContext.Current.Items,每请求数据存储?
我想保存请求的信息,保存它们并从我的记录器(NLog)中读取值.我发现一个好地方是DefaultHttpControllerActivator/IHttpControllerActivator.
这样,日志消息应始终看起来相同,并且开发人员对提供的格式或信息没有太大影响.
编辑:经过一些研究后我发现了这一点: 我们如何为异步.net方法创建一个callcontext? 我希望使用具有不可变集合的逻辑调用上下文将按预期工作.