Linq to json
阿新 • • 發佈:2018-12-03
新增引用:
using Newtonsoft.Json.Linq;
using System.Collections.Generic;
操作json字串方法
/// <summary> /// linq操作json /// </summary> public void OpearteJson() { string jsonStr = "{\"name\":\"小明\",\"age\":\"20\",\"phone\":[{\"type\":\"phone\"},{\"type\":\"huawei\"}]}";var jsonObject = JObject.Parse(jsonStr); var name = jsonObject["name"].ToString();//根據物件key獲取value var phoneArr = jsonObject["phone"] as JArray;//獲取陣列key鍵的值 foreach (JObject item in phoneArr)//遍歷json物件陣列 { foreach (var keyValue in item)//迴圈遍歷json物件鍵值對 {var key = keyValue.Key; var value = keyValue.Value.ToString(); } } }
遍歷json字串的key value值:
/// <summary> /// 獲取json字串的鍵值對,不包含陣列json /// </summary> /// <param name="jsonStr">json字串,例如:"{\"name\":\"szl\",\"age\":\"20\"}"</param> /// <returns></returns>public Dictionary<string, List<string>> GetJsonKeyValue(string jsonStr) { JObject jsonObj = JObject.Parse(jsonStr);//將json字串轉換成json物件 Dictionary<string, List<string>> result = new Dictionary<string, List<string>>(); List<string> key = new List<string>(); List<string> value = new List<string>(); foreach (var item in jsonObj)//遍歷json物件的所有鍵值對 { key.Add(item.Key); value.Add(item.Value.ToString()); } result.Add("key", key); result.Add("value", value); return result; }