我使用的 Api 不是每次都返回基于所需位置的相同响应。有些地方有更多的细节,有些内容比其他地方有更多的属性。生成的序列化对象每次都不相同,导致不匹配时反序列化错误。该项目的对象不是匹配整个内容响应,而是仅匹配此内容的一部分:Centroid。
{
"place":{
"woeid":12345,
"placeTypeName":"State",
"placeTypeName attrs":{
"code":8
},
"name":"My Region",
"country":"",
"country attrs":{
"type":"Country",
"code":"XX"
},
"admin1":"My Region",
"admin1 attrs":{
"type":"Region",
"code":""
},
"admin2":"",
"admin3":"",
"locality1":"",
"locality2":"",
"postal":"",
"centroid":{
"latitude":30.12345,
"longitude":40.761292
},
"boundingBox":{
"southWest":{
"latitude":32.2799,
"longitude":50.715958
},
"northEast":{
"latitude":29.024891,
"longitude":12.1234
}
},
"areaRank":10,
"popRank":0,
"uri":"http:\/\/where.yahooapis.com",
"lang":"en-US"
}
}
有人可以指出反序列化一段内容而不是完整响应(质心不在同一位置)或反序列化不断变化的响应模式的最佳方法。
我使用 ServiceStack C# 序列化程序,但欢迎所有建议。谢谢。