gpt4 book ai didi

python - 如何在 Python 中格式化 JSON 文本?

转载 作者:太空宇宙 更新时间:2023-11-03 11:29:41 25 4
gpt4 key购买 nike

当我调用 Vincent van Gogh 作品列表维基百科页面的 JSON 文件时,使用 this网址,它显然会返回一大堆文本,我认为这是某种列表字典。

现在,有人已经向我展示了 Python 的导入维基百科功能,所以跳过它。我如何解码这个 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)

它没有返回错误,只是看起来什么都没有

>>>

>>>

但如果我突出显示该空白区域并粘贴它,它会粘贴相同的文本 block 。

{'warnings': {'main': {'*': "Unrecognized parameter: 'Page'"}}, 'query': {'normalized': [{'from': 'list of文森特·梵高的作品”,...等

如果我尝试 for 循环:

for entry in json_data:
print(entry)

返回

>>> 
query
warnings
>>>

就是这样。所以它不会在那里返回错误,但实际上并没有返回任何其他错误,只是两个值?您如何将 JSON 数据转换为可用的 Python 字典或列表?或者至少,变成我可以实际阅读的更垂直的格式?

最佳答案

How would you make the JSON data into a workable Python dict or list?

你已经这样做了

json_data = json.loads(json_string)

但是:

for entry in json_data:
print(entry)

只会打印你的字典的keys。如果要打印值,则需要使用:

for entry in json_data:
print(json_data[entry])

如果检查数据,您会发现主词典有两个。你已经通过遍历字典得到的那些:

{u'query': {...}, u'warnings': {...}}

关于python - 如何在 Python 中格式化 JSON 文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23970693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com