陋室铭
永远也不要停下学习的脚步(大道至简至易)

string test_json = "{\"name\":\"tom\",\"nickname\":\"tony\",\"sex\":\"male\",\"age\":20,\"email\":\"123@123.com\"}";  
    var o = JObject.Parse(yourJsonString);  
      
                foreach (JToken child in o.Children())  
                {  
                    var property1 = child as JProperty;  
                    MessageBox.Show(property1.Name + ":" + property1.Value);  
    }  


多层Json


    var o = JObject.Parse(yourJsonString);  
      
    foreach (JToken child in o.Children())  
    {  
        //var property1 = child as JProperty;  
        //MessageBox.Show(property1.Name + ":" + property1.Value);  
        foreach (JToken grandChild in child)  
        {  
            foreach (JToken grandGrandChild in grandChild)  
            {  
                var property = grandGrandChild as JProperty;  
                if (property != null)  
                {  
                    MessageBox.Show(property.Name + ":" + property.Value);  
                }  
            }  
        }  
    }  

 

用Newtonsoft.Json.dll

string str = @"{
""data"":
{
""mobile"":
{
""platform"":""2.2"",
""model"":""generic|sdk"",
""versioncode"":""20111125"",
""versionname"":""1.2.0"",
""web_domain"":""http://www.baidu.com"",
""ip"":"""",
""dns1"":"""",
""dns2"":"""",
""channel_id"":""0""
}
}
}";
            JavaScriptObject json = (JavaScriptObject)JavaScriptConvert.DeserializeObject(str);
            JavaScriptObject data = (JavaScriptObject)json["data"];
            JavaScriptObject mobile = (JavaScriptObject)data["mobile"];
            Console.WriteLine("{0} {1} {2}", mobile["platform"], mobile["model"], mobile["versioncode"]);
 
当然,如果有承接类也可以直接反序列化成承接类。
posted on 2018-06-20 16:26  宏宇  阅读(650)  评论(0编辑  收藏  举报