asp.net提取多层嵌套json数据的方法
Posted 山涧清泉
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 =
"{\"name\":\"lily\",\"age\":23,\"addr\":{\"city\":\"guangzhou\",\"province\":\"guangdong\"}}"
;
JObject jsonObj = JObject.Parse(jsonData);
Response.Write(GetJsonValue(jsonObj.Children(),
"province"
));
如果有多层嵌套的数组
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"
]);
以上是关于asp.net提取多层嵌套json数据的方法的主要内容,如果未能解决你的问题,请参考以下文章