在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'}]