string jsonStr = "{'order_no':'1205281338370004556','access_item':'[{'commodity_id':'EZG20111130112304161','color':'red','size':'24','complex_access':'','access_content':''},{'commodity_id':'EZG20111130112304161','color':'','size':'','complex_access':'','access_content':''}]}";怎么解析出来啊

解决方案 »

  1.   

    http://www.cnblogs.com/cnee5/archive/2008/11/25/1340545.html
      

  2.   

    2.0的话用Newtonsoft.Json.dll            string jsonStr = "{'order_no':'1205281338370004556','access_item':[{'commodity_id':'EZG20111130112304161','color':'red','size':'24','complex_access':'','access_content':''},{'commodity_id':'EZG20111130112304161','color':'','size':'','complex_access':'','access_content':''}]}";
                JavaScriptObject jObject = JavaScriptConvert.DeserializeObject(jsonStr) as JavaScriptObject;
                Console.WriteLine(jObject["order_no"]);
                JavaScriptArray array = jObject["access_item"] as JavaScriptArray;
                foreach (JavaScriptObject o in array)
                {
                    Console.WriteLine("commodity_id:{0} color:{1} size:{2} complex_access:{3}", o["commodity_id"], o["color"], o["size"], o["complex_access"]);
                }
    /*
    1205281338370004556
    commodity_id:EZG20111130112304161 color:red size:24 complex_access:
    commodity_id:EZG20111130112304161 color: size: complex_access:
    */
      

  3.   

     转换实体对象赋值呢像我这样的
    jsonStr = "{'user_name':'admin','password':'123456'}";
                JavaScriptSerializer json = new JavaScriptSerializer();
                ToJson list = json.Deserialize<ToJson>(jsonStr);
                string username = list.user_name;
                string password = list.password;
      

  4.   

            string jsonStr = @"{""order_no"":""1205281338370004556"",""access_item"":[{""commodity_id"":""EZG20111130112304161"",""color"":""red"",""size"":""24"",""complex_access"":"""",""access_content"":""""},{""commodity_id"":""EZG20111130112304161"",""color"":"""",""size"":"""",""complex_access"":"""",""access_content"":""""}]}";        DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(order));
            MemoryStream ms = new MemoryStream(Encoding.GetEncoding("gb2312").GetBytes(jsonStr));
            order o = json.ReadObject(ms) as order;
            Response.Write(o.order_no + "<br/>");
            foreach (access_item a in o.access_item)
                Response.Write(string.Format("commodity_id:{0} color:{1}<br/>", a.commodity_id, a.commodity_id));[DataContract]
        public class order
        {
            [DataMember]
            public string order_no;
            [DataMember]
            public access_item[] access_item;
        }
        [DataContract]
        public class access_item
        {
            [DataMember]
            public string commodity_id { get; set; }
            [DataMember]
            public string color { get; set; }
            [DataMember]
            public string size { get; set; }
            [DataMember]
            public string complex_access { get; set; }
            [DataMember]
            public string access_content { get; set; }
        }
      

  5.   

    好像不可以啊,能加Q我们讨论下不QQ:613044372
      

  6.   

    我这边木有问题啊。抱什么错?
    1205281338370004556
    commodity_id:EZG20111130112304161 color:EZG20111130112304161
    commodity_id:EZG20111130112304161 color:EZG20111130112304161