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