我在Windows Phone 7.1(Mango RC)上使用DataContractJsonSerializer從Web服務中提取數據。從我的web服務的數據是這樣的:DataContractJsonSerializer在字符串中留下引號
[
{
"Color":"\"black\"",
"CurrentPlayerTurn":1,
"GameId":"\"3adbffa7b5744634aca0e4b743014247\"",
"GameState":0,
"OtherPlayerId":null
},
{
"Color":"\"black\"",
"CurrentPlayerTurn":1,
"GameId":"\"a292247719e34811a93598d2ff3eb13c\"",
"GameState":0,
"OtherPlayerId":"\"shmoebob\""
}
]
在你想知道的情況下,這個數據是CouchDB的地圖下游/減少查詢,其輸出是這樣的:
{"total_rows":4,"offset":1,"rows":[
{"id":"3adbffa7b5744634aca0e4b743014247","key":"kotancode","value":[0,1,"black",null]},
{"id":"a292247719e34811a93598d2ff3eb13c","key":"kotancode","value":[0,1,"black","shmoebob"]}
]}
什麼發生在我的WP7.1客戶端的是,當我從JSON的第一個blob反序列化對象數組時,實際上我得到了這些字符串中的引號,並且我不得不通過屬性手動去除它們的屬性。
我的WP7.1客戶端正在訪問的Web服務是一個v0.5 WCF Web API RESTful服務,我將這些數據公開爲JSON。
有沒有什麼我做錯了在這個管道中的某處引起的報價被字面處理...或者有什麼我可以用DataContractJsonSerializer做的事情,使它不實際給我的報價?