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数据的方法的主要内容,如果未能解决你的问题,请参考以下文章

多层次查询深度嵌套复杂的 JSON 数据

C# json提取多层嵌套到数组

.net 提取多层嵌套的JSON

c#中怎么解析多层json数据

ASP.NET MVC 表单提交多层子级实体集合数据到控制器中

反序列化多层嵌套json实体