如何在Python中从JSON中获取"url"变量

3
我该如何从这个JSON字符串中打印出"url"的内容。
[{"breeds":[],"id":"bkv","url":"https://cdn2.thecatapi.com/images/bkv.jpg","width":800,"height":600}]

我希望在Python控制台上打印它。如果有影响,那个JSON来自https://api.thecatapi.com/v1/images/search
    response = requests.get('https://api.thecatapi.com/v1/images/search')
x = response.json()
json_obj = json.loads(x)
for i in json_obj:
    print(i["url"])

请您能否提供更多的细节/背景信息? - YLR
2个回答

1
假设您的JSON字符串中包含多个JSON元素:
import json
json_string = '[{"breeds":[],"id":"bkv","url":"https://cdn2.thecatapi.com/images/bkv.jpg","width":800,"height":600}]'
json_obj = json.loads(json_string)
for i in json_obj:
    print(i["url"])

如果你想直接从URL获取JSON,可以直接这样做:
import requests
for i in requests.get("https://api.thecatapi.com/v1/images/search").json():
    print(i["url"])

响应 = requests.get('https://api.thecatapi.com/v1/images/search') x = 响应.json() json_obj = json.loads(x) for i in json_obj: print(i["url"])我得到:TypeError: JSON对象必须是str、bytes或bytearray,而不是list。 - Elo Benc
你已经收到了json对象,所以不需要再使用json.load。我这样做是为了将字符串转换为json。你可以查看requests的编辑答案。@EloBenc - Jarvis
如果问题已经解决,请将答案标记为已接受。@EloBenc - Jarvis
1
我会尽快完成 :D 还有4分钟。 - Elo Benc
如果我用https://dog.ceo/api/breeds/image/random做同样的事情,并将“url”替换为“message”,它不起作用;TypeError:字符串索引必须是整数。 - Elo Benc
显示剩余2条评论

0
data = {"breeds":[],"id":"bkv","url":"https://cdn2.thecatapi.com/images/bkv.jpg","width":800,"height":600}
print(data["url"])

或者

print(data.values()[2])

这两个中有一个能用吗?如果不行,能否让我看看你针对这个问题的完整代码(如果这不是全部的话)

希望它能够工作


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接