将JSON对象发送到服务

时间:2017-03-30 11:14:59

标签: python json python-3.x testing pycharm

我写了一个简单的服务,如果发送一个足球运动员的名字,将返回所述足球运动员的队伍。这对我来说是一个学习项目。

我想测试我服务的准确性。

我制作了一个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行可能是问题的一部分!!

1 个答案:

答案 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))

虽然最好先修改输入文件,然后将它正确地包装在一个数组中,每个对象用逗号分隔。