首页 / 问答 / [.NET Core].NET Core/.NET 5应用程序编程中如何在控制器的Action中获取动态JSON数据对象呢?

[.NET Core].NET Core/.NET 5应用程序编程中如何在控制器的Action中获取动态JSON数据对象呢?

0

ASP.NET Core Web API的项目中,有一个控制器的Action方法需要接受一个JSON表单作为输入,并且这个JSON数据的属性是动态的,比如:

[HttpPost]
public IActionResult InitializeAction([FromBody] dynamic jsonData)
{
    return this.Ok(this.MyMethod(jsonData));
}

但是,使用[FromBody]特性接收到的jsonData并没有被转换成标准的.NET动态参数,而是JsonDocument或者JsonElement这样的数据对象。

那么,在ASP.NET Core Web API的项目中应该如何获取动态的JSON表单数据对象呢?

回复 [×]
提交评论
请输入评论内容

2 个回答

  • 0

    在ASP.NET Core Web API的控制器中,你可以将动态请求过来的JSON表单数据转换成ExpandoObject对象,然后便可以直接使用.来访问对象的属性,如下:

    或者,如果你不想将object对象转换成ExpandoObject对象,那么需要使用objectGetProperty()方法来获取对象的值,示例如下:

    Rector的个人主页

    Rector

    2021-01-27 回答

    • 0

      或者,你还可以使用Json.NET组件中的JsonConvert.DeserializeObject()方法,将请求中的动态JSON对象反序列化成dynamic动态对象,如下:

      Rector的个人主页

      Rector

      2021-01-27 回答

      我来回答