Python 如何在一个文件中读取多个JSON对象?
我想从从本地目录导入的单个文件中读取多个JSON对象。到目前为止,这是我的简单工作: 数据:Python 如何在一个文件中读取多个JSON对象?,python,json,read-data,Python,Json,Read Data,我想从从本地目录导入的单个文件中读取多个JSON对象。到目前为止,这是我的简单工作: 数据: [{ “uuid”:“6f476e26”, “已创建”:“2018-09-26T06:57:04.142232”, “创建者”:“管理员” }, { “uuid”:“11d1e78a”, “已创建”:“2019-09-21T11:19:39.845876”, “创建者”:“管理员” }] 代码: 错误: 文件“/usr/lib64/python3.8/json/decoder.py”,第340行,解码
[{
“uuid”:“6f476e26”,
“已创建”:“2018-09-26T06:57:04.142232”,
“创建者”:“管理员”
}, {
“uuid”:“11d1e78a”,
“已创建”:“2019-09-21T11:19:39.845876”,
“创建者”:“管理员”
}]
代码:
错误:
文件“/usr/lib64/python3.8/json/decoder.py”,第340行,解码中
raise JSONDecodeError(“额外数据”,s,结束)
json.decoder.JSONDecodeError:额外数据:第1行第8列(字符7)
我的问题类似于,我也尝试过,但同样的问题出现了。我应该如何解决这个问题
for line in f:
data = json.load(f)
这毫无意义。您试图一次又一次地解析文件,解析的次数与文件中的行数相同。这比听起来更成问题,因为在第一次调用json.load(f)
之后,f
就耗尽了
您不需要循环,只需将f
传递到json.load
:
with open('/home/data.json') as f:
data = json.load(f)
print(data)
输出
[{'uuid': '6f476e26', 'created': '2018-09-26T06:57:04.142232', 'creator': 'admin'},
{'uuid': '11d1e78a', 'created': '2019-09-21T11:19:39.845876', 'creator': 'admin'}]
现在,您可以循环查看数据
或直接访问特定索引,即数据[0]
或数据[1]
[{'uuid': '6f476e26', 'created': '2018-09-26T06:57:04.142232', 'creator': 'admin'},
{'uuid': '11d1e78a', 'created': '2019-09-21T11:19:39.845876', 'creator': 'admin'}]