碰上一个这么纠结的json反序列化!!!!!
{
"prefecture": [
{
"albums": {
"album": [
{
"episodes": {
"episode": { "something": 1 }
}
},
{
"episodes": {
"episode": [{"something":2 }, {"something":3} ]
}
}
]
}
}
]
}
纠结的是episodes那个地方, 反序列化得类是写成 class Episodes { public Episode episode;} 还是
class Episodes { public List<Episode> episode;} 好像都不行啊!!一个有list,一个又没有!怎么办呢??
------解决方案--------------------"episode": [{ "something": 1 }]
都统一成List吧
------解决方案--------------------你用的微软自带的还是Json.net
试试
C# code
class Episodes
{
private List<Episode> _episode
public List<Episode> episode
{
get{return _episode;}
set{
if(value is Episode)
value = new List<Episode>(){value };
_episode = value;
}
}
}
------解决方案--------------------
如果 你不能在构建 json字符串的时候 更改,那就只能在 接收以后处理
可以考虑通过正则 将
"episode": { "something": 1 }
变成 "episode": [{"something":1 }]