当我调用Vincent van Gogh作品列表维基百科页面的JSON文件时,使用此网址:这个,它显然返回一大块文本,我认为这是某种列表字典。
现在,有人已经向我展示了Python的import wikipedia功能,所以跳过那个。如何解码这个JSON?我感觉我尝试了Python 3库中的所有方法,总是会出错,比如我尝试下面的代码:
它没有返回错误,只是看起来像什么也没有。
它返回:
现在,有人已经向我展示了Python的import wikipedia功能,所以跳过那个。如何解码这个JSON?我感觉我尝试了Python 3库中的所有方法,总是会出错,比如我尝试下面的代码:
data = urllib.request.urlopen(long_json_url)
stuff = json.load(data) #or json.loads(data)
print(stuff)
它返回
TypeError: the JSON object must be str, not 'bytes'
如果我尝试这段代码:
data = urllib.request.urlopen(longurl)
json_string = data.read().decode('utf-8')
json_data = json.loads(json_string)
print(json_data)
它没有返回错误,只是看起来像什么也没有。
>>>
>>>
但是如果我选中那个空白区域并粘贴,它会粘贴相同的文本块。
{'warnings': {'main': {'*': "未识别的参数:'Page'"}},'query':{'normalized':[{'from':'list of works by Vincent van Gogh',
...等等
如果我尝试使用for循环:
for entry in json_data:
print(entry)
它返回:
>>>
query
warnings
>>>
以上就是全部内容了。所以它没有返回错误,但也只有两个值?如何将JSON数据转换成可操作的Python字典或列表呢?或者至少将其转换为更加垂直的格式,以便我能够真正阅读?