0
我有一个像SomeId自定义Id的DTO。 GET请求返回此格式返回JSON:
... "$id":"2","SomeId":1 ...
我可以以某种方式映射到SomeId $标识的ApiController动作返回JSON过吗?
我有一个像SomeId自定义Id的DTO。 GET请求返回此格式返回JSON:
... "$id":"2","SomeId":1 ...
我可以以某种方式映射到SomeId $标识的ApiController动作返回JSON过吗?
我猜你正在ASP.NET Web API中使用默认的JSON格式(Json.NET),你看到的"$id"
实际上是一个参考,用于保存句柄,所以如果元素重复某个地方,它不会重复数据,它只会将重复的"$ref"
属性设置为原始的"$id"
。
,你能做些什么来禁用,这是下面的代码添加到的Application_Start方法在的Global.asax文件:
var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.PreserveReferencesHandling =
Newtonsoft.Json.PreserveReferencesHandling.None;
你可以阅读更多关于此这里:
谢谢你的工作。 – cs0815
你是什么意思的映射?你的意思是替换值 - 用* SomeId *中的值替换* $ id *值? –
将POCO映射到JSON ... => SomeId == $ id – cs0815
如果您需要在从控制器返回POCO之前操作POCO,为什么不从控制器方法本身执行? – LordHits