从python中的json中提取特定字段

时间:2014-10-21 22:26:50

标签: python json

假设我要处理很多json行,我只关心json行中的特定字段。

{blablabla, 'whatICare': 1, blablabla}
{blablabla, 'whatICare': 2, blablabla}
....

有没有办法从这些json行中提取whatICare withoud loads?由于json行非常长,因此从json构建对象可能会很慢。

2 个答案:

答案 0 :(得分:2)

没有编写自己的解析代码就没有任何可靠的方法。

但请查看ujson!它可以比python内置的json库快10倍,这有点慢。

答案 1 :(得分:0)

不,您必须先加载并解析JSON,然后才能知道内部的内容,并能够过滤掉所需的元素。

话虽如此,如果您担心内存,可以使用ijson这是一个迭代解析器。它不是一次加载所有内容,而是只加载下一次迭代所需的内容。因此,如果您的文件包含一个对象数组,则可以一次加载和解析一个对象,从而减少内存影响(因为您只需要将一个对象保留在内存中,再加上您实际关注的数据)。但它不会变得更快,也不会神奇地跳过你不感兴趣的数据。