在Python中,如何在不传递索引号的情况下获取JSON数组的值?
我通过使用在Python中,如何在不传递索引号的情况下获取JSON数组的值?,python,arrays,json,Python,Arrays,Json,我通过使用标识[0]来完成此操作。已验证,但我不想给出索引号。我需要检查哪个块与PrimaryEmail或Mobile关联。这是我的JSON: "Idents": [ { "PrimaryEmail": "abc@gmail.com", "IsVerified": false, "IdentId": 1, "EmailVerificationCode": 302284 }, { "Mobile": "1234567890", "IsVe
标识[0]来完成此操作。已验证,但我不想给出索引号。我需要检查哪个块与PrimaryEmail
或Mobile
关联。这是我的JSON:
"Idents": [
{
"PrimaryEmail": "abc@gmail.com",
"IsVerified": false,
"IdentId": 1,
"EmailVerificationCode": 302284
},
{
"Mobile": "1234567890",
"IsVerified": true,
"IdentId": 2,
"MobileVerificationCode": 302284
},
{
"CardNumber": 0,
"IsVerified": false,
"IdentId": 4
}
]
Python确实直接支持JSON。首先,必须将JSON转换为列表和字典(模块JSON
具有必要的工具)。假设您已经完成了转换,并且JSON数组位于列表Idents
,请查看列表并检查哪些列表项具有键“Mobile”
:
通过过滤可获得相同的结果:
list(filter(lambda block: "Mobile" in block, Idents))
#[{'MobileVerificationCode': 302284, 'IdentId': 2, 'IsVerified': True,
# 'Mobile': '1234567890'}]
你到底希望得到什么?举个例子。我有PrimaryEmail,我想检查哪个块包含它。使用循环或列表。
list(filter(lambda block: "Mobile" in block, Idents))
#[{'MobileVerificationCode': 302284, 'IdentId': 2, 'IsVerified': True,
# 'Mobile': '1234567890'}]