如何读取单个文件中的多个 JSON 对象?

How to read multiple JSON objects in a single file?

我想从从本地目录导入的单个文件中读取多个 JSON 对象。到目前为止,这是我的简单工作:

数据:

[{
    "uuid": "6f476e26",
    "created": "2018-09-26T06:57:04.142232",
    "creator": "admin"

}, {
    "uuid": "11d1e78a",
    "created": "2019-09-21T11:19:39.845876",
    "creator": "admin"
}]

代码:

import json
with open('/home/data.json') as f:
    for line in f:
        data = json.load(f)

错误:

 File "/usr/lib64/python3.8/json/decoder.py", line 340, in decode
    raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 1 column 8 (char 7)

我的问题与 Loading and parsing a JSON file with multiple JSON objects 类似,我已经尝试过了,但出现了同样的问题。我应该怎么做才能解决这个问题?

for line in f:
    data = json.load(f)

这毫无意义。您正试图一遍又一遍地解析文件,次数与文件中的行数一样多。这比听起来更成问题,因为 f 在第一次调用 json.load(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'}]

现在您可以遍历 data 或直接访问特定索引,即 data[0]data[1]