.Net Core API的Post动作使用[FromBody] dynamic inputObj报错:System.Text.Json.JsonElement' does not contain a definition for 'xxx'

问题描述,就是简单的新建个.net core api的项目,在原本的WeatherForecast控制器上新建了一个post的方法来接收参数。

  [HttpPost]
  public Person PostPerson([FromBody] dynamic inputObj)
  {
      var t = inputObj.ToObject<Person>();
      return t;
  }

就这样直接用inputObj.属性或者这样转换就会报:System.Text.Json.JsonElement' does not contain a definition for 'xxx'的错误。

解决办法:

1.在nuget包管理器中安装Newtonsoft.Json

2.在nuget包管理器中安装Microsoft.AspNetCore.Mvc.NewtonsoftJson。

3.在startup中注册。

  public void ConfigureServices(IServiceCollection services)
     {
        
         services.AddControllers().AddNewtonsoftJson();
    }

 

posted @ 2025-03-05 14:32  经过你的世界  阅读(44)  评论(0)    收藏  举报