以下内容适用于.net core 1.x,但不适用于.net core2.x。
正如我所评论的,解决方案是[FromBody]dynamic data
使用dynamic
而不是作为参数列表,string
我将收到JObject
。
警告: 如果您的体系结构要求一台WebApi服务器在流产XML和JSON方面同样流利,这取决于内容类型标头条目,则这种直接JSON消费策略会适得其反。(只要有足够的工作就可以在同一服务上同时支持XML和JSON,但是随后您将把MVC资产管道中的内容进一步提升并将其下移到控制器方法中,这与MVC的精神背道而驰。 ,其中已经解析了POCO的模型出现在您的面前。)
一旦在方法内部转换为字符串,JObject
就将传入(JSON的内存数据类型为Newtonsoft.JSON)转换为字符串。
示例代码,感谢Jeson Martajaya:
具有动态:
[HttpPost]
public System.Net.Http.HttpResponseMessage Post([FromBody]dynamic value)
{
//...
}
使用JObject的示例代码:
[HttpPost]
public System.Net.Http.HttpResponseMessage Post([FromBody]Newtonsoft.Json.Linq.JObject value)
{
//...
}