解决方案 »

  1.   

                string jsonStr = @"{""fruits"":{""a"":""orange"",""b"":""banana"",""c"":""apple""},""name"":{""z"":""zhangsan"",""l"":""lisi""}}";            JavaScriptSerializer serializer = new JavaScriptSerializer();            Dictionary<string, object> json = serializer.DeserializeObject(jsonStr) as Dictionary<string, object>;            Dictionary<string, object> obj = json["fruits"] as Dictionary<string, object>;            Console.WriteLine(obj["a"]);            Console.ReadLine();
    看看
      

  2.   

    既然你诚心诚意的问了,哥还是大发慈悲的告诉你好了。
    捂好蛋蛋,再看下面,不然会很疼的
            [DataContract]
            public class DanTengObj
            {
                [DataMember(Order = 1, Name = "fruits")]
                public Fruits fruits { get; set; }
                [DataMember(Order = 2, Name = "name")]
                public Name name { get; set; }            [DataContract]
                public class Fruits
                {
                    [DataMember(Order = 1, Name = "a")]
                    public string a { get; set; }
                    [DataMember(Order = 2, Name = "b")]
                    public string b { get; set; }
                    [DataMember(Order = 3, Name = "c")]
                    public string c { get; set; }
                }            [DataContract]
                public class Name
                {
                    [DataMember(Order = 1, Name = "z")]
                    public string z { get; set; }
                    [DataMember(Order = 1, Name = "l")]
                    public string l { get; set; }
                }
            }        static void DanTengJsonTest()
            {
                string jsonStr = @"{""fruits"":{""a"":""orange"",""b"":""banana"",""c"":""apple""},""name"":{""z"":""zhangsan"",""l"":""lisi""}}";            DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(DanTengObj));            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonStr)))
                {
                    DanTengObj obj = js.ReadObject(ms) as DanTengObj;
                    Console.WriteLine(obj.fruits.a);
                }
            }
      

  3.   

    C#里面对json的处理有2种,JavaScriptSerializer和DataContractJsonSerializer。
    JavaScriptSerializer读出来就是key-value pair这种Dictionary<string, object>的东西,这个比较通用。
    DataContractJsonSerializer类似于其他的Serializer,比如XMLSerializer一类的,是对象序列化/反序列化用的,所以你看到上面要先定义一个Obj对象,把json字串里面的key都定义成属性,最后执行反序列化就出来了一个Obj。
      

  4.   

    用DataContractJsonSerializer很方便的
      

  5.   

    我在最后取值的之后出错的,提示    未将对象引用设置到对象的实例。
    string s;
                DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(GetAccessCompanyM));            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(html)))
                {
                    GetAccessCompanyM obj = js.ReadObject(ms) as GetAccessCompanyM;
                    //Console.WriteLine(obj.fruits.a);
                    s = obj.result.toreturn.memberId.ToString();
                }
      

  6.   

    就是这句话s = obj.result.toreturn.memberId.ToString();