【发布时间】:2016-04-08 06:04:32
【问题描述】:
所以这是在 python 中读取 JSON 文件的标准方法
import json
from pprint import pprint
with open('ig001.json') as data_file:
data = json.load(data_file)
pprint(data)
但是,我要读取的 JSON 文件中包含多个 JSON 对象。所以它看起来像:
[{},{}.... ]
[{},{}.... ]
这表示 2 个 JSON 对象,在每个 {} 内的每个对象内部,都有一堆键:值对。
因此,当我尝试使用上面的标准读取代码读取此内容时,我收到错误:
Traceback(最近一次调用最后一次): 文件“jsonformatter.py”,第 5 行,在 数据 = json.load(data_file) 加载中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/init.py”,第 290 行 **千瓦) 加载中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/init.py”,第 338 行 返回 _default_decoder.decode(s) 解码中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py”,第 369 行 raise ValueError(errmsg("额外数据", s, end, len(s))) ValueError:额外数据:第 3889 行第 2 列 - 第 719307 行第 2 列(字符 164691 - 30776399)
第 3889 行是第一个 JSON 对象的结束位置和下一个对象的开始位置,该行本身看起来像“][”。
任何关于如何解决此问题的想法将不胜感激,谢谢!
【问题讨论】:
-
你能发布你的json文件吗?
-
你的意思是多个 JSON 数组,对吧?
-
请提供有关您拥有的 JSON 文件的更多数据。