【发布时间】:2015-10-16 14:02:39
【问题描述】:
我目前正在访问 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 出现问题,因为我会经常使用它。
还是谢谢!
【问题讨论】:
-
您确定 API 正在返回 JSON 吗?我在浏览器中访问了 URL,页面是 text/html。有没有可以指定
JSON的format参数?
标签: json python-3.x