解决方案 »

  1.   

    引用System.Runtime.Serialization.Json
    然后用DataContractJsonSerializer类来实现反序列化。asp.net的话也可以使用System.Web.Script.Serialization的JavaScriptSerializer类来实现。
      

  2.   


    求给个例子吧,这个Json的节点是有可能会变化的。
      

  3.   

    对于,这个Json,我想把它反序列化为树形结构:json.id
    json.libraries[i].name
    json.libraries[j].natives[j]
      

  4.   

    额,最后一条写错了,是这样:
    json.libraries[i].natives[j]
      

  5.   

    引用System.Web.Extensions.dll(winform也能用),然后用下边代码即可。属性不能用点操作,而是用集合操作。
                dynamic json = new JavaScriptSerializer().Deserialize<Dictionary<string, object>>(Resource1.TextFile1);            var id = json["id"];
                var name = json["libraries"][1]["name"];
                var natives = json["libraries"][31]["natives"];
      

  6.   

    哦,刚发现泛型参数也可以简写,第一句改这样更简单:var json = new JavaScriptSerializer().Deserialize<dynamic>(Resource1.TextFile1);
      

  7.   

    json解析
    http://blog.csdn.net/qq807081817/article/details/37919339
      

  8.   


    这个dll是VS2010自带的吗? 还是要另外安装?
      

  9.   


    这个dll是VS2010自带的吗? 还是要另外安装?是.net framework的系统类库。一般你看System.xx的都可以直接用
      

  10.   


    这个dll是VS2010自带的吗? 还是要另外安装?是.net framework的系统类库。一般你看System.xx的都可以直接用碰到怪事了啊,我检查了一下,发现这个类库是 .net4.0 pre里面的,于是添加之,但是:
      

  11.   


    找到原因了,原来JavaScriptSerializer的命名空间是System.Web.Script.Serialization;
    而System.Web.Extensions只是它的程序集 = =||,此问题已解决,谢啦!