C# .NET CORE 3.1-[HttpPost]-无法将JSON值转换为Newtonsoft.JSON.Linq.JToken

C# .NET CORE 3.1-[HttpPost]-无法将JSON值转换为Newtonsoft.JSON.Linq.JToken,c#,json,C#,Json,我尝试在从angular 9到.NET API控制器的POST中使用多个参数 [HttpPost] public async Task<ActionResult<int>> PostPartner([FromBody] JObject body) { Partner partner = body["partner"].ToObject<Partner>(); User manager = body["manager

我尝试在从angular 9到.NET API控制器的POST中使用多个参数

[HttpPost]
public async Task<ActionResult<int>> PostPartner([FromBody] JObject body)
{
    Partner partner = body["partner"].ToObject<Partner>();
    User manager = body["manager"].ToObject<User>();
    ...
我发现错误JSON值无法转换为Newtonsoft.JSON.Linq.JToken

发送请求时,将这些参数从angular 9

发件人:

返回this.http.post(environment.apirl+'api/Partners/',partner:partner);

返回this.http.post(environment.apirl+'api/Partners/',{partner:partner,manager:manager});
为.NET控制器使用以下代码

[HttpPost]
public async Task<ActionResult<int>> PostPartner([FromBody] JObject body)
{
    Partner partner = body["partner"].ToObject<Partner>();
    User manager = body["manager"].ToObject<User>();
    ...
[HttpPost]
公共异步任务后处理程序([FromBody]作业对象正文)
{
合作伙伴=主体[“合作伙伴”]。ToObject();
用户管理器=主体[“管理器”].ToObject();
...
JObject从使用Newtonsoft.Json.Linq开始

我知道我可以使用System.text.json,但我找不到任何适合我的post函数签名的示例

谢谢你的帮助


感谢不要使用
Newtonsoft.Json.Linq.JObject
,您应该能够使用一个模型类,它应该包含
合作伙伴
用户
属性,例如:

public class PostPartnerModel
{
    public Partner Partner { get; set; }
    public User Manager { get; set; }
}
让你的行动像:

[HttpPost]
public async Task<ActionResult<int>> PostPartner([FromBody] PostPartnerModel model)
{
  Partner partner = model.Partner;
  User manager = model.Manager;
  ...
[HttpPost]
公共异步任务后处理程序([FromBody]后处理程序模型)
{
合作伙伴=model.Partner;
用户管理器=model.manager;
...
[HttpPost]
public async Task<ActionResult<int>> PostPartner([FromBody] PostPartnerModel model)
{
  Partner partner = model.Partner;
  User manager = model.Manager;
  ...