JSON.NET解析器*似乎是雙序列化我的對(duì)象我的問題是:這是從我的WebAPI控制器返回的響應(yīng)。"[
[
{\"id\":\"identifier\"},
{\"name\":\"foobar\"}
]]"注意,響應(yīng)被包裝在引號(hào)中,所有嵌入的引號(hào)都被轉(zhuǎn)義。這顯然是個(gè)問題。是否有任何設(shè)置可以提供給JSON.NET序列化程序以防止這種情況發(fā)生?編輯正如p.s.w.g在他的回復(fù)中猜測(cè)的那樣,我使用的是JSON.NET的JsonConvert.SerializeObject(instance)來(lái)執(zhí)行我的序列化。我這樣做是因?yàn)楫?dāng)我構(gòu)建我的自定義轉(zhuǎn)換器時(shí),我已經(jīng)將它們包含在Json轉(zhuǎn)換器中,在我的WepApiConfig中包含了DefaultSettings(顯然,我認(rèn)為這不會(huì)是一個(gè)問題)我以前曾嘗試將HttpGets的返回類型交換為“MyObjecttype”,響應(yīng)是對(duì)象的ToString()方法的json表示形式…它讓我知道序列化不是通過我的轉(zhuǎn)換器傳遞的。將我的HttpGets的返回類型從String更改為“MyObject類型”,并將這些轉(zhuǎn)換器直接插入WebAPi的默認(rèn)HttpConfiguration中。config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new FooConverter());config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new BarConverter());簡(jiǎn)單的方法。
3 回答

慕的地10843
TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超8個(gè)贊

一只名叫tom的貓
TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
在這一點(diǎn)上,我認(rèn)為對(duì)我來(lái)說可能很重要,我必須使用我自己的Json轉(zhuǎn)換器來(lái)完成這項(xiàng)任務(wù)。我從最初的描述中刪除了它們,因?yàn)槲也幌胩峁┎幌嚓P(guān)的信息。我需要能夠調(diào)用JsonConvert.SerializeObject(或使用我的轉(zhuǎn)換器的等效方法),并讓它返回json而不是字符串。返回對(duì)象只會(huì)序列化對(duì)象的ToString(),我不能這樣做。我也沒有數(shù)據(jù)契約可以使用
- 3 回答
- 0 關(guān)注
- 443 瀏覽
添加回答
舉報(bào)
0/150
提交
取消