麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 編程 > .NET > 正文

asp.net提取多層嵌套json數(shù)據(jù)的方法

2024-07-10 13:30:40
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
這篇文章主要介紹了asp.net提取多層嵌套json數(shù)據(jù)的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了asp.net解析json格式數(shù)據(jù)的步驟與相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
 

本文實(shí)例講述了asp.net提取多層嵌套json數(shù)據(jù)的方法。分享給大家供大家參考,具體如下:

在.net 2.0中提取這樣的json:

復(fù)制代碼代碼如下:
{"name":"lily","age":23,"addr":{"city":guangzhou,"province":guangdong}}

 

引用命名空間:

using Newtonsoft.Json;using Newtonsoft.Json.Linq;

可以把上面的JSON看成一個(gè)對(duì)象.你只要寫(xiě)對(duì)應(yīng)的類即可

public class UserInfo{public string name;public int age;public address addr;}public class address{public string city;public string province;}

然后在解析的地方這樣寫(xiě):

string jsonData="{/"name/":/"lily/",/"age/":23,/"addr/":{/"city/":guangzhou,/"province/":guangdong}}";UserInfo user=(UserInfo)JsonConvert.DeserializeObject(jsonData, typeof(UserInfo));

得到City的值只要:user.addr.City;

這樣實(shí)現(xiàn)也行

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

如何這個(gè)json是動(dòng)態(tài)的呢?譬如讓你輸入一個(gè)json,如

復(fù)制代碼代碼如下:
{"name":"lily","age":23,"addr":{"city":guangzhou,"province":guangdong}};

 

然后讓你輸入一個(gè)對(duì)象,如city,然后系統(tǒng)會(huì)輸出guangzhou這個(gè)值,那這樣的話,json就是動(dòng)態(tài)生成的了,我想了解有沒(méi)有讀取這樣的json的方法。(注意,json是多級(jí)嵌套的。)

就用遍歷

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

在調(diào)用的時(shí)候:

string jsonData = "{/"name/":/"lily/",/"age/":23,/"addr/":{/"city/":/"guangzhou/",/"province/":/"guangdong/"}}";JObject jsonObj = JObject.Parse(jsonData);Response.Write(GetJsonValue(jsonObj.Children(), "province"));

如果有多層嵌套的數(shù)組

string jsonData = "{/"addr/":[{/"city/":/"guangzhou/",/"province/":/"guangdong/"},{/"city/":/"guiyang/",/"province/":/"guizhou/"}]}";JObject jsonObj = JObject.Parse(jsonData);JArray jar = JArray.Parse(jsonObj["addr"].ToString());JObject j = JObject.Parse(jar[0].ToString());Response.Write(j["city"]);

JSON轉(zhuǎn)XML:

復(fù)制代碼代碼如下:
string xmlstr=((XmlDocument)JsonConvert.DeserializeXmlNode(jsonData)).InnerXml.ToString();


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到ASP.NET教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 中文字幕精品一区久久久久 | 久久亚洲成人网 | 暴力肉体进入hdxxxx古装 | 免费毛片视频 | 国产九九九九 | 国产88久久久国产精品免费二区 | 欧美一级黄视频 | 性欧美极品xxxx欧美一区二区 | 国产宾馆3p国语对白 | 国产亚洲精品久久 | 成人小视频免费在线观看 | 亚洲免费视频大全 | 日韩欧美精品中文字幕 | xp123精品视频 | 成人福利视频网站 | 91久久国产露脸精品国产护士 | 综合日韩欧美 | 欧美jizzhd极品欧美 | 国产精品一区二区手机在线观看 | 青草伊人网 | 久久国产精品久久精品国产演员表 | 国产亚洲精品久久 | 国产午夜精品一区二区三区嫩草 | 成人免费网站在线观看视频 | 欧美黄 片免费观看 | 双性精h调教灌尿打屁股的文案 | 黄色毛片视频在线观看 | 99国产精品自拍 | 国产一极毛片 | 中文字幕亚洲一区二区三区 | 欧美一级黄色免费 | 国产精品久久久久久久久久了 | 午夜视频久久 | 久久久久国产成人免费精品免费 | 国产激情精品一区二区三区 | xxxeexxx性国产 | 免费毛片在线视频 | 成人在线观看一区二区三区 | 一区二区三区四区视频在线观看 | 在线播放免费播放av片 | 欧美一级淫片a免费播放口 91九色蝌蚪国产 |