0

我有一个带有自定义 ID 的 DTO,比如 SomeId。获取请求以这种格式返回 JSON:

... "$id":"2","SomeId":1 ...

我可以在 ApiController 操作返回 JSON 之前以某种方式将 SomeId 映射到 $Id 吗?

4

1 回答 1

6

我猜你在 ASP.NET Web API 中使用默认的 JSON 格式化程序(Json.NET),你看到"$id"的实际上是用于保留句柄的引用,所以如果元素在某处重复它不会重复数据,它会只需将"$ref"副本的属性设置"$id"为原始的。

要禁用此功能,您可以将以下代码添加到Global.asax文件中的Application_Start方法中:

var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.PreserveReferencesHandling = 
    Newtonsoft.Json.PreserveReferencesHandling.None;

您可以在此处阅读有关此内容的更多信息:

于 2013-08-22T13:34:52.050 回答