Skip to main content
 首页 » 编程设计

python之如何通过将 Json 对象逐部分发送到 Python 2.7 中的文件来构建 Json 对象

2025年05月04日10del

我目前正在从事一个项目,我最终创建了一个非常大的 JSON 字典字典。一次将整个对象保存在内存中会很痛苦,并且由于我正在逐个键地计算将进入字典的内容,所以我希望有一种方法可以将每个键写入文件,我最终会将 json 转储到 as一旦计算出它的值(value)。这样一来,我永远不需要一次在内存中保存多个键/值对,这太棒了。

对象的形式是:

{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 库更简洁。想法?

请您参考如下方法:

Python 的内置 json模块加载和转储整个对象,所以你不能直接用它来做。有可用的事件驱动 ( "SAX style" ) JSON 解析器,例如 yajl , 其中有 Python bindings .

就我个人而言,除非万不得已,否则我尽量不使用第 3 方依赖项,因此我可能会手动打印开头/结尾/键并使用内置的 JSON 模块。或者只是将整个事情留在内存中。它实际需要多少内存?请记住,只有在您分析并发现它是一个问题后才进行优化。 :-)