我如何返回多对多关系(.net core)的JSON对象

时间:2019-05-24 21:37:40

标签: c# asp.net .net asp.net-core core

我无法将json对象返回到我的前端。使用asp.net core 2.0 WebApi

_contex都很好,并且也可以连接。 我在调试中看到了数据,但我从未发现如何返回它。


            var user = _context.Users.FirstOrDefault(u => u.Username == User.Identity.Name);

            var orders = _context.Orders
                .Where(o => o.UserId == user.Id)
                .Include(o => o.City)
                .Include(o => o.Products)
                    .ThenInclude(products => products.Product)
                .ToList();

            return new ObjectResult(new { orders = orders }) { StatusCode = 200 };

我想在前端看到什么:

{"orders": [
         {
             "orderId": "1"
             "orderCode":"SAJVLUHC",
             "products" : [pr1...prn]
         },{
             "orderId": "2"
             "orderCode":"SAJVLUHC",
             "products" : [pr1...prn]
        }
    ]
}

1 个答案:

答案 0 :(得分:0)

如果您的订单包含产品,而产品包含订单,则json序列化可能会因循环循环处理而失败。您可以在配置中尝试以下方法:

services.AddMvc().AddJsonOptions(options =>
{
    options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
});