這篇文章主要介紹了asp.net提取多層嵌套json資料的方法,結合實例形式較為詳細的分析了asp.net解析json格式資料的步驟與相關操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實例講述了asp.net提取多層嵌套json資料的方法。分享給大家供大家參考,具體如下:
在.net 2.0中提取這樣的json:
複製代碼 代碼如下:
{"name":"lily","age":23," addr":{"city":guangzhou,"province":guangdong}}
引用命名空間:
using Newtonsoft.Json; using Newtonsoft.Json.Linq;
可以把上面的JSON看成一個物件.你只要寫對應的類別即可
可以把上面的JSONSON
public class UserInfo { public string name; public int age; public address addr; } public class address { public string city; public string province; }
然後在解析的地方這樣寫:
string jsonData="{\"name\":\"lily\",\"age\":23,\"addr\":{\"city\":guangzhou,\"province\":guangdong}}"; UserInfo user=(UserInfo)JsonConvert.DeserializeObject(jsonData, typeof(UserInfo));
得到City的值:user.addr.City;
的呢?譬如讓你輸入一個json,如複製程式碼程式碼如下:
{"name":"lily","age":23,"addr":{"city":guangzhou,"province": guangdong}};
就用遍歷
JObject jsonObj = JObject.Parse(jsonData); string name=jsonObj ["name"].ToString(); string age=jsonObj ["age"].ToString(); string city=((JObject )jsonObj ["addr"])["city"].ToString(); string province=((JObject )jsonObj ["addr"])["province"].ToString();
public string GetJsonValue(JEnumerable<JToken> jToken,string key) { IEnumerator enumerator = jToken.GetEnumerator(); while (enumerator.MoveNext()) { JToken jc = (JToken)enumerator.Current; if (jc is JObject||((JProperty)jc).Value is JObject) { return GetJsonValue(jc.Children(), key); } else { if (((JProperty)jc).Name == key) { return ((JProperty)jc).Value.ToString(); } } } return null; }
JSON轉XML: 複製程式碼
程式碼如下:
string xmlstr=((XmlDocument)JsonConvert.DeserializeXmlNode(jsonData)).InnerXmlDocument)JsonConvert.DeserializeXmlNode(jsonData)).InnerXmlDocument)JsonConvert.DeserializeXmlNode(jsonData)).InnerXml.L. json資料的方法相關文章請關注PHP中文網!