我目前正在开展一个项目,我最终创建了一个非常大的字典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库更清晰。想法?
答案 0 :(得分:0)
Python的内置json
模块加载并转储整个对象,因此您无法直接使用它。有可用的事件驱动("SAX style")JSON解析器,例如yajl,其Python bindings。
我个人尝试不使用第三方依赖项,除非必须这样做,所以我可能会手动打印开头/结束/键并使用内置的JSON模块。或者只是把整件事留在记忆中。实际需要多少内存?请记住,只有在您进行了分析后才进行优化并发现它是一个问题。 : - )