2

我们有一个返回对象的 asp.net-core5 端点

   public class ServiceResponse
        {
            public Balance Balance { get; set; }
            public int Code { get; set; }
            public object Message { get; set; }
        }

        public class Balance
        {
            public float Amount { get; set; }
            public string Currency { get; set; }
        }

但由于某种原因,我们收到的回复是

{
    "$id": "1",
    "balance": {
        "$id": "2",
        "amount": 2130.804,
        "currency": "USD"
    },
    "code": 0,
    "message": null
}

注意响应添加 :""$id": "1"" 并将属性更改为小写

这些方法是一个异步任务

 public async Task<IActionResult> GetBalance([FromBody] cl_Balance value)

我们回来

 return Ok(ServiceResponse);

4

1 回答 1

1

解决方案是改变:

services.AddControllers().AddJsonOptions(x => x.JsonSerializerOptions.ReferenceHandler = ReferenceHandler.Preserve);

 services.AddControllers().AddJsonOptions(x => x.JsonSerializerOptions.PropertyNamingPolicy=null);
于 2021-12-08T00:09:35.470 回答