Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python3-JSON错误_Json_Python 3.x - Fatal编程技术网

Python3-JSON错误

Python3-JSON错误,json,python-3.x,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.

我目前正在访问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)
但是,如果我试着以伊茨库克拉夫特的名字命名,我会得到一个错误

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)
OSRS名称?伊茨胡艇
回溯(最近一次呼叫最后一次):
文件“/home/pi/Programming/Python3/RuneScape/json_test.py”,第11行,在
j=json.load(格式为字符串)
文件“/usr/lib/python3.4/json/_init__.py”,第318行,加载
返回\u默认\u解码器。解码
文件“/usr/lib/python3.4/json/decoder.py”,第346行,在decode中
raise VALUERROR(errmsg(“额外数据”,s,end,len)))
ValueError:额外数据:第1行第7列-第28行第1列(字符6-315)
我希望有人能帮我解决这个问题,这样我就可以避免以后使用JSON时出现问题,因为我将大量使用JSON

无论如何谢谢你

Runescape HiScores说返回值是:

以换行符分隔的CSV字符串


因此,您不能将其解析为JSON,因为它不是。您确定API返回JSON吗?我转到浏览器中的URL,页面为text/html。是否有一个
format
参数可用于指定
JSON
?如何使用CSV进行指定?Python在标准库中有一个CSV解析器,请在或中查看CSV模块。如果你有关于CSV模块的另一个问题,你应该提出一个单独的问题。如果我帮助过你或者指出了你正确的方向,请考虑把这个标记为可接受的答案。