【发布时间】:2019-02-22 12:07:39
【问题描述】:
我想更改我的响应数据格式
{
"$id": "1",
"$values": [
{
"$id": "2",
"OrderID": 3,
"Article": null
},
{
"$id": "3",
"OrderID": 4,
"Article": null
}
]
}
到
[
{
"OrderID": 3,
"Article": null
},
{
"OrderID": 4,
"Article": null
}
]
我尝试在 WebApiConfig.cs 文件中配置 JsonFormatter 并添加这两行
config.Formatters.JsonFormatter.SerializerSettings.PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.None;
config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
但不起作用。
控制器代码就是这个,它的类继承自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;
}
}
对此解决方案有什么想法吗?
编辑 1:
OrderDto.cs 代码
public class OrderDto
{
public int OrderID { get; set; }
public string Article { get; set; }
}
【问题讨论】:
-
您能提供您的 OrderVM 代码吗?
-
@AnonymousCodes 已回答
标签: c# json api json.net serialization