在python中从json提取特定字段

在python中从json提取特定字段,python,json,Python,Json,假设我有很多json行要处理,我只关心json行中的特定字段 {blablabla, 'whatICare': 1, blablabla} {blablabla, 'whatICare': 2, blablabla} .... 是否有任何方法可以从这些json行中提取whatICare,而不必加载它们?由于json行很长,从json构建对象可能会很慢。如果不编写自己的解析代码,这不是任何可靠的方法 但请注意!它可以比python内置的json库快10倍,后者有点慢 不,您必须先加载并解析JSO

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

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

是否有任何方法可以从这些json行中提取
whatICare
,而不必加载它们?由于json行很长,从json构建对象可能会很慢。

如果不编写自己的解析代码,这不是任何可靠的方法


但请注意!它可以比python内置的json库快10倍,后者有点慢

不,您必须先加载并解析JSON,然后才能知道里面有什么,才能过滤出所需的元素


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

在我以前处理大型JSON数据的经验中,解码实际上已经足够快了;瓶颈仍然是从磁盘读取文件。另一个选项!如果你有巨大的Json文件。将Json文件存储到MYSQL数据库中,您可以优化查询以获得所关心的内容。然而,我不确定比较下面提到的选项是否是最好的方法。