小编Ike*_*azo的帖子

从WebApi中的json对象列表中删除引用$ id

我想改变我的响应数据格式

{
    "$id": "1",
    "$values": [
        {
            "$id": "2",
            "OrderID": 3,
            "Article": null
        },
        {
            "$id": "3",
            "OrderID": 4,
            "Article": null
        }
     ]
}
Run Code Online (Sandbox Code Playgroud)

 [
    {
        "OrderID": 3,
        "Article": null
    },
    {
        "OrderID": 4,
        "Article": null
    }
 ]
Run Code Online (Sandbox Code Playgroud)

我尝试在WebApiConfig.cs文件中配置JsonFormatter,添加这两行

config.Formatters.JsonFormatter.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.None;
config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
Run Code Online (Sandbox Code Playgroud)

但不起作用.

控制器代码是这个,它的类继承自ApiController

    public List<OrderDto> Get()
    {
        var serviceResult = orderService.LoadOrders();

        if (serviceResult.IsValid)
        {
            var orders = serviceResult.GetObject();

            var ordersDto = Mapper.Map<List<Order>, List<OrderDto>>(orders);

            return ordersDto;
        }
        else
        {
            return null;
        }
    }
Run Code Online (Sandbox Code Playgroud)

对此解决方案有什么想法?

编辑1:

OrderDto.cs代码 …

c# api json serializer json.net

2
推荐指数
1
解决办法
326
查看次数

标签 统计

api ×1

c# ×1

json ×1

json.net ×1

serializer ×1