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);