基本上,我正在使用 HTMLAgilityPack 进行一些网页抓取,并且我得到了一个巨大的 json 作为字符串,然后我JObject
使用 json.net 包将其转换为一个。
现在在内心深处说JObject
有一些我想要的对象。但由于它嵌套得很深,我想知道是否真的有办法到达这些对象,而不知道它们究竟在什么地方JObject
。我只知道他们的名字。有什么方法可以让我在整体中进行某种搜索JObject
,只知道我正在寻找的对象/属性名称?
遗憾的是,我找不到任何可以使用的相关问题/记录方法。
这可能对你有用:
private JToken GetValueByKey(JObject jObject, string key)
{
foreach (KeyValuePair<string, JToken> jProperty in jObject)
{
if (jProperty.Key.Equals(key))
{
return jProperty.Value;
}
else if (jProperty.Value is JObject)
{
return GetValueByKey((JObject)jProperty.Value, key);
}
}
return null;
}
它需要您要在其中搜索的 JObject 和您要搜索的键。它映射 JObject 中的所有属性以查看或匹配键,如果不匹配,它将检查或当前属性可以转换为 JObject。如果它可以转换为 JObject,它将检查所有 JObjects 值或您的键匹配。
如果找到匹配项,它将返回与您的键匹配的值。
如果在循环遍历 JObject 中的所有属性后未找到匹配项,它将返回 null。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句