Python JSON从响应获取数据

Python JSON从响应获取数据,python,json,Python,Json,在搜索了很多之后,我想我对我的问题只有一半的答案 当我得到一个json响应时,它是这样的 { "queryResponse": { "@last": 3, "@first": 0, "@count": 4, "@type": "ClientDetails", "@requestUrl": "https://1.1.1.1/webacs/api/v2/data/ClientDetails?userName=co

在搜索了很多之后,我想我对我的问题只有一半的答案 当我得到一个json响应时,它是这样的

{
    "queryResponse": {
        "@last": 3,
        "@first": 0,
        "@count": 4,
        "@type": "ClientDetails",
        "@requestUrl": "https://1.1.1.1/webacs/api/v2/data/ClientDetails?userName=contains("usertest")",
        "@responseType": "listEntityIds",
        "@rootUrl": "https://1.1.1.1/webacs/api/v2/data",
        "entityId": [
            {
                "@type": "ClientDetails",
                "@url": "https://1.1.1.1/webacs/api/v2/data/ClientDetails/236551459",
                "$": "236551459"
            },
            {
                "@type": "ClientDetails",
                "@url": "https://1.1.1.1/webacs/api/v2/data/ClientDetails/267361256",
                "$": "267361256"
            },
            {
                "@type": "ClientDetails",
                "@url": "https://10.141.1.29/webacs/api/v2/data/ClientDetails/370079361",
                "$": "370079361"
            },
            {
                "@type": "ClientDetails",
                "@url": "https://1.1.1.1/webacs/api/v2/data/ClientDetails/501402176",
                "$": "501402176"
            }
        ]
    }
}
因为我想获得@url的列表,但我刚刚能够访问entityId

json_obj = response.json()
object = json_obj['queryResponse']
entityId = object['entityId']
print(entityId)

我无法从entityId打印,但我无法仅获取每个@url字段的字段。非常感谢您的帮助。

因为这里返回了键值对,所以您应该按顺序解析每个键值对

for entity in entityId: 
    print(entity["@url"])
import json
from pprint import pprint

json_obj = response.json()

entityId = json_obj['queryResponse']['entityId']

for _ in entityId:
    pprint( _['@url'])

希望这有帮助。:)

基本上,您需要循环到entityId,并获取特定对象来读取和访问它的索引。如果您实际上要使用循环变量,请不要将
\uuuuuu
用作循环变量。谢谢,COLDSPEED,我对python还是新手。出于好奇,我想知道为什么不建议使用?
\u
是在您想“扔掉”循环变量时使用的(即,如果您不打算在循环体中使用它)。哦,好的,谢谢您:)。