我正在尝试加载我拥有的json文件,但我一直收到错误消息:
raise ValueError(errmsg("Extra data", s, end, len(s)))
ValueError: Extra data: line 2 column 1 - line 27 column 1 (char 48 - 1512)
我的代码如下:
def main():
with open('statement.json', 'r') as f:
data = json.load(f)
print (data)
if __name__ == "__main__":
main()
JSON文件如下:
{"File Size": "16281", "File Name": "apple.json"}
{"File Size": "128706", "File Name": "banana.json"}
{"File Size": "47366083", "File Name": "carrot.json"}
{"File Size": "7484", "File Name": "pear.json"}
答案 0 :(得分:1)
输入不是有效的JSON对象,而是newline-delimited JSON。
您应该使用:
with open('statement.json', 'r') as f:
for line in f:
data = json.loads(line)
print (data)
打印每个JSON文档(每一行)。
答案 1 :(得分:0)
您的JSON错误。一个文件中有多个JSON对象。您需要将它们全部放入列表。
您可能会有这样的顶级列表。
[
{"File Size": "16281", "File Name": "apple.json"},
{"File Size": "128706", "File Name": "banana.json"},
{"File Size": "47366083", "File Name": "carrot.json"},
{"File Size": "7484", "File Name": "pear.json"}
]
或创建一个全新的对象并将其放入列表中,类似这样
{
"file_list":[
{"File Size": "16281", "File Name": "apple.json"},
{"File Size": "128706", "File Name": "banana.json"},
{"File Size": "47366083", "File Name": "carrot.json"},
{"File Size": "7484", "File Name": "pear.json"}
]
}