首页 > 代码库 > asp.net提取多层嵌套json数据的方法
asp.net提取多层嵌套json数据的方法
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
;
}
在调用的时候:
string
jsonData = http://www.mamicode.com/
"{\"name\":\"lily\",\"age\":23,\"addr\":{\"city\":\"guangzhou\",\"province\":\"guangdong\"}}"
;
JObject jsonObj = JObject.Parse(jsonData);
Response.Write(GetJsonValue(jsonObj.Children(),
"province"
));
如果有多层嵌套的数组
string
jsonData = http://www.mamicode.com/
"{\"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"
]);
asp.net提取多层嵌套json数据的方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。