C# 从web api响应中删除$id

C# 从web api响应中删除$id,c#,asp.net-core-webapi,c#-5.0,C#,Asp.net Core Webapi,C# 5.0,我有一个web api 5.0,它返回一个相当基本的对象的dto。这是上课时间 [JsonObject(IsReference = false)] public class BillToReturnDto { public string id { get; set; } public string organizationId { get; set; } } 但是当我返回它的列表时,它会像这样返回 { “$id”:“1”, “$values”:[ { “$id”:“2”

我有一个web api 5.0,它返回一个相当基本的对象的dto。这是上课时间

[JsonObject(IsReference = false)] 
public class BillToReturnDto
{
    public string id { get; set; } 
    public string organizationId { get; set; } 

}
但是当我返回它的列表时,它会像这样返回

{ “$id”:“1”, “$values”:[ { “$id”:“2”, “id”:“rvKLS178QWyWJu0tgESTnA”, “organizationId”:“ujoF624LSVyyQFapjauyAw”, }, { “$id”:“2”, “id”:“xvWfrRQWyyG0tgEd53dW”, “organizationId”:“ujoF624LSVyyQFapjauyAw”, } ] }

如何删除这些ID?我尝试了IsReference false,您可以看出这是徒劳的

更新:

以下是控制器方法:

    public async Task<ActionResult> Get()
    {
        var userId = User.FindFirst("Id").Value;
        var accessToken = await _userService.GetAccessToken(Convert.ToInt32(userId));
        var bills = await _shoppingService.GetBills(accessToken);
        var billsToReturn = _mapper.Map<List<BillToReturnDto>>(bills.bills);
        return Ok(billsToReturn);
    }
公共异步任务Get() { var userId=User.FindFirst(“Id”).Value; var accessToken=await_userService.GetAccessToken(Convert.ToInt32(userId)); var bills=wait_shoppingService.GetBills(accessToken); var billsToReturn=_mapper.Map(bills.bills); 返回Ok(billsToReturn); }
startup.cs中的这一行可能会在我的案例中产生问题:

   services.AddControllers()
                .AddJsonOptions(options =>
                {
                    options.JsonSerializerOptions.ReferenceHandler = ReferenceHandler.Preserve;
                });

删除.AddJsonOptions([…]),看看它是否适合您。

请向我们展示返回result@IbraHimM.Nada我已经用asp.neet core更新了ThxyYou?或者mvc只是为了确保使用新的5.0,它本质上是core,但他们已经从它的名字中删除了core最近的是Core3.X