C#解析Json字符串(C#解析Json字符串)

1.比较简单的小白的json字符串的解析

			string jsonStr = "{'title':'白天', 'domain':'放风筝', 'content':'在空地上进行放风筝'}";   //Json字符串  
            try
            {

                JObject obj = (JObject)JsonConvert.DeserializeObject(jsonStr);  //序列化(也可使用JToken代替JObject)  

                Console.WriteLine(obj["title"].ToString());   //获取指定属性title的值  
                Console.WriteLine(obj["domain"].ToString());   //获取指定属性domain的值  
                Console.WriteLine(obj["content"].ToString());   //获取指定属性content的值  
            }
            catch (Exception ex)
            {

                Console.WriteLine(ex.ToString());
            }

2.解析嵌套的json字符串

string json = string.Empty;

            //读取本地的json文件,读取内容
            //string filepath = "E:\\解析Json案例.json";//JSON文件路径
            //using (FileStream fs = new FileStream(filepath, FileMode.OpenOrCreate, System.IO.FileAccess.ReadWrite, FileShare.ReadWrite))
            //{
            //    using (StreamReader sr = new StreamReader(fs, Encoding.UTF8))
            //    {
            //        json = sr.ReadToEnd().ToString();
            //    }
            //}

            json = "{\"fruit\":{\"name\":\"西瓜\",\"name_en\":\"watermelon\"}}";
            string jsonText = json;
            JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText);
            string name = jo["fruit"]["name"].ToString();
            string name_en = jo["fruit"]["name_en"].ToString();

3.解析数组的json字符串

string jsonArrayText = "[{'a':'a1','b':'b1'},{'a':'a2','b':'b2'}]"; //"[{'a':'a1','b':'b1'}]即使只有一个元素,也需要加上[]
            JArray jArray = (JArray)JsonConvert.DeserializeObject(jsonArrayText);//jsonArrayText必须是带[]数组格式字符串
            string str = jArray[0]["a"].ToString();
            Console.WriteLine(str);

你可能感兴趣的:(json,c#,开发语言)