日期:2014-05-17  浏览次数:20857 次

碰上一个这么纠结的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 }]