我在 Windows Phone 7.1 (Mango RC) 上使用 DataContractJsonSerializer 从 Web 服务中提取数据。我的网络服务中的数据如下所示:
[
{
"Color":"\"black\"",
"CurrentPlayerTurn":1,
"GameId":"\"3adbffa7b5744634aca0e4b743014247\"",
"GameState":0,
"OtherPlayerId":null
},
{
"Color":"\"black\"",
"CurrentPlayerTurn":1,
"GameId":"\"a292247719e34811a93598d2ff3eb13c\"",
"GameState":0,
"OtherPlayerId":"\"shmoebob\""
}
]
如果您想知道,此数据位于 CouchDB map/reduce 查询的下游,其输出如下所示:
{"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 做些什么来使它实际上不给我引号?