如何通过在Python 2.7中将其部分发送到文件来构建Json对象?

时间:2012-05-15 15:26:10

标签: python json

我目前正在开展一个项目,我最终创建了一个非常大的字典JSON字典。将这整个对象一次保存在内存中会很痛苦,而且由于我正在计算按键进入字典键的内容,我希望有一种方法可以将每个键写入文件,我最终会将json转储为as一旦计算出它的价值。这样我就不需要一次在内存中保存多个键/值对,这将是非常棒的。

该对象的格式为:

{key: {key: val, key: val, key:val, etc...},
 key: {key: val, key: val, key:val, etc...},
 key: {key: val, key: val, key:val, etc...},
 etc...
}

如果我只是在JSON中手动打印字典的开头和结尾以及我打印的每个JSON子字典周围的逗号,这不是很难做到,但我认为必须有一种方法可以通过其中一个Python的JSON库更清晰。想法?

1 个答案:

答案 0 :(得分:0)

Python的内置json模块加载并转储整个对象,因此您无法直接使用它。有可用的事件驱动("SAX style")JSON解析器,例如yajl,其Python bindings

我个人尝试不使用第三方依赖项,除非必须这样做,所以我可能会手动打印开头/结束/键并使用内置的JSON模块。或者只是把整件事留在记忆中。实际需要多少内存?请记住,只有在您进行了分析后才进行优化并发现它是一个问题。 : - )