我的 ASP.NET Core 端点接受 JSON 形式作为其输入,并调用需要动态参数的方法。我试图像这样调用该方法:
[HttpPost]
public IActionResult InitializeAction([FromBody] dynamic jsonData)
{
return this.Ok(this.MyMethod(jsonData));
}
当我发布 JSON 时{"test": "value"}
对于这种方法,我希望执行以下操作时具有相同的行为:
[HttpPost]
public IActionResult InitializeAction([FromBody] dynamic jsonData)
{
return this.Ok(this.MyMethod(new {test = "value"}));
}
但是,使用以下方法检索到的 JSON 值[FromBody]
参数不会转换为标准 .NET 动态参数,而是一个JsonDocument
or JsonElement
或类似的规定。
如何从 HTTP Post 接收或序列化 JSON 作为 .NET 动态对象?
传入的 JSON 正文可以通过使用转换为动态对象JsonConvert.DeserializeObject
在 JSON 字符串上。
[HttpPost]
public IActionResult InitializeAction([FromBody] dynamic jsonData)
{
dynamic data = JsonConvert.DeserializeObject<dynamic>(jsonData.ToString());
return this.Ok(this.MyMethod(data));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)