python
lxml
可用于从XML文件中提取文本(例如,使用xpath),而无需完全解析XML。例如,我可以执行以下比BeautifulSoup更快的操作,特别是对于大输入。我想为JSON提供一些等效的代码。
from lxml import etree
tree = etree.XML('<foo><bar>abc</bar></foo>')
print type(tree)
r = tree.xpath('/foo/bar')
print [x.tag for x in r]
我看到http://goessner.net/articles/JsonPath/。但我没有看到一个示例python代码从json文件中提取一些文本而没有使用json.load()
。有人能告诉我一个例子吗?感谢。
答案 0 :(得分:2)
我假设您出于性能原因不想加载整个JSON。
如果是这种情况,或许https://github.com/ros-infrastructure/rospkg/issues/125就是您所需要的。我用它来搜索巨大的JSON文件(&gt; 8gb),效果很好。
但是,您必须自己实施搜索代码。