我写了一个简单的服务,如果发送一个足球运动员的名字,将返回所述足球运动员的队伍。这对我来说是一个学习项目。
我想测试我服务的准确性。
我制作了一个JSON文件,其中包含足球运动员及其预期球队的名单。我想将此信息发送给我的服务并创建一份报告,以了解我的准确程度。
JSON看起来像这样 -
{"Team": "Man Utd", "Players": "Ryan Giggs"}
{"Team": "Chelsea", "Players": "John Terry"}
.....
我的代码的简单开始 -
import json
from pprint import pprint
with open('C:\\Users\\ADMIN\\Desktop\\Service_Testing\\service_json.json') as data_file:
data = json.load(data_file)
pprint(data)
尝试加载它,但是,我收到错误 -
raise JSONDecodeError("Extra data", s, end)
json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 47)
这里出了什么问题?如何正确加载我的JSON?我的json文件中有46k行可能是问题的一部分!!
答案 0 :(得分:3)
如评论中所述,这不是有效的JSON。你似乎每行有一个JSON对象;您可以单独加载和解析这些:
data = []
with open('C:\\Users\\ADMIN\\Desktop\\Service_Testing\\service_json.json') as data_file:
for line in data_file:
data.append(json.loads(line))
虽然最好先修改输入文件,然后将它正确地包装在一个数组中,每个对象用逗号分隔。