gpt4 book ai didi

python - 无法访问 Python 中 JSON 响应中的节点/标签

转载 作者:太空宇宙 更新时间:2023-11-04 05:02:07 25 4
gpt4 key购买 nike

终于开始学习Python了。阅读了关于该主题的所有其他问题后,我扣除了我是个白痴。

我正在向如下所示的开放 API 发出 Python 请求

import requests
import json

url = 'http://api.turfgame.com/v4/users'
payload = [{"name": "tbone"}]
headers = {'content-type': 'application/json'}

r = requests.post(url, data=json.dumps(payload), headers=headers)

一切顺利,我可以打印响应

print r.text

但是,当我想访问响应中的某些标签/节点时,我遇到了麻烦。输出是

[{"country":"se","medals":[34,54,13,5,46,28,16,6],"zones":[323,7577,14606],"pointsPerHour":21,"points":21809,"blocktime":17,"taken":2290,"name":"tbone","totalPoints":347388,"rank":30,"id":95195,"place":1931,"uniqueZonesTaken":269,"region":{"name":"Stockholm","id":141}}]

我试过了

rj = r.json()
print rj['name']

但这只会给我

Traceback (most recent call last):
File "post.py", line 16, in <module>
print rj['name']
TypeError: list indices must be integers, not str

我无法理解如何访问 JSON 响应中的任何单个标签/节点。

最佳答案

你得到的答案:[{"country":"se",..."region":{"name":"Stockholm","id":141}}]是 JSON 对象的列表(注意字典周围的 [])。

因此,要获得您的对象,您必须这样做:

rj = r.json()
print rj[0]['name'] # the [0] to indicate you take the first element of your list

关于python - 无法访问 Python 中 JSON 响应中的节点/标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45453948/

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