Python3 - JSON错误

时间:2015-10-16 14:02:40

标签: json python-3.x

我目前正在访问OldSchool RuneScape的API,它返回JSON中的字符串,但对我不起作用。

我目前的代码:

import json
import urllib.request

name = input('OSRS name? ')
url = 'http://services.runescape.com/m=hiscore_oldschool/index_lite.ws?player={0}'.format(name) 

open_url = urllib.request.urlopen(url)
read_url = open_url.read().decode()
format_to_string = str(read_url)

j = json.loads(format_to_string)
print(j)

但如果我尝试使用名称itz_craft,我会收到错误。

OSRS name? itz_craft
Traceback (most recent call last):
File "/home/pi/Programming/Python3/RuneScape/json_test.py", line 11, in <module>
j = json.loads(format_to_string)
File "/usr/lib/python3.4/json/__init__.py", line 318, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.4/json/decoder.py", line 346, in decode
raise ValueError(errmsg("Extra data", s, end, len(s)))
ValueError: Extra data: line 1 column 7 - line 28 column 1 (char 6 - 315)

我希望有人可以帮我解决这个问题所以我可以稍后用JSON来避免问题,因为我会这么用。

非常感谢!

1 个答案:

答案 0 :(得分:0)

Runescape HiScores API documentation表示返回的值为:

  

以换行符分隔的CSV字符串

所以你不能把它解析为JSON,因为它不是。