为了账号安全,请及时绑定邮箱和手机立即绑定

请问如何使用“ json”模块一次读取一个JSON对象?

请问如何使用“ json”模块一次读取一个JSON对象?

呼如林 2019-11-03 13:04:57
我有一个千兆字节的JSON文件。该文件由每个不超过几千个字符的JSON对象组成,但是记录之间没有换行符。使用Python 3和json模块,如何一次从文件读取一个JSON对象到内存?数据在纯文本文件中。这是类似记录的示例。实际记录包含许多嵌套的字典和列表。以可读格式记录:{    "results": {      "__metadata": {        "type": "DataServiceProviderDemo.Address"      },      "Street": "NE 228th",      "City": "Sammamish",      "State": "WA",      "ZipCode": "98074",      "Country": "USA"    }  }}实际格式。新记录一个接一个地开始,没有任何中断。{"results": { "__metadata": {"type": "DataServiceProviderDemo.Address"},"Street": "NE 228th","City": "Sammamish","State": "WA","ZipCode": "98074","Country": "USA" } } }{"results": { "__metadata": {"type": "DataServiceProviderDemo.Address"},"Street": "NE 228th","City": "Sammamish","State": "WA","ZipCode": "98074","Country": "USA" } } }{"results": { "__metadata": {"type": "DataServiceProviderDemo.Address"},"Street": "NE 228th","City": "Sammamish","State": "WA","ZipCode": "98074","Country": "USA" } } }
查看完整描述

3 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

如果您的JSON文档包含一个对象列表,并且您想一次读取一个对象,则可以为该作业使用迭代JSON解析器ijson。仅当需要解码下一个对象时,它才会从文件中读取更多内容。


请注意,您应该将它与YAJL库一起使用,否则您可能看不到任何性能提高。


话虽如此,除非您的文件很大,否则将其完全读取到内存中,然后使用普通的JSON模块进行解析可能仍然是最好的选择。



查看完整回答
反对 回复 2019-11-04
  • 3 回答
  • 0 关注
  • 306 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信