遍历一个树状的json 代码如下,主要功能是判断能否有个键值能否存在
public static bool HasFunction(JArray jsonArray, string functionValue)
{
if (jsonArray == null)
return false;
else
{
foreach (JObject items in jsonArray)
{
foreach (var item in items)
{
if (item.Key.ToString() == "functionKey" && item.Value.ToString() == functionValue)
return true;
else
{
if (item.Key.ToString() == "children")
{
JArray jar = JArray.Parse(item.Value.ToString());
HasFunction(jar, functionValue);
}
}
}
}
}
return false;
}
问题来了。返回总是为false,总感觉这个return false的地方不对。
解决方案
40
那么
HasFunction(jar, functionValue);
这行改成
if( HasFunction(jar, functionValue))
return true;