如何从Python为JSON数组中的项编制索引

2024-05-20 21:38:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我在想如何通过python在JSON数组中找到JSON对象的位置

比如说

{
    "users": [
        {
            "person1": [
                {
                    "money": 769967967456795806758905768494685798974560,
                    "name": "person1"
                }
            ]
        },
        {
            "person2": [
                {
                    "money": 696969696969969696969696969,
                    "name": "person2"
                }
            ]
        }
    ]
}

例如,假设我想从python中的数组中获取person 2的位置,所以位置2

(我浏览了一些网站和以前的问题,但没有弄清楚)

(大家好,我上一篇文章:))

如果您需要任何额外的材料张贴,请在这里要求


Tags: 对象namejson网站文章数组usersperson
2条回答

假设您有字典格式的json。如果没有,您可以使用一些库来转换为dict(json库会这样做)

然后我将迭代dict并检查每个元素是否都有键,在示例“person2”中,如果是,我们找到了元素并可以打印索引

代码如下:

i = 0
for person in json["users"]:
    if "person2" in person:
        print(i)
    i += 1

可能有一个更干净的解决方案,但这就是我能想到的

jsn为JSON对象的名称:

jsn = {
         "users": [
             {
                 "person1": [
                     {
                         "money": 769967967456795806758905768494685798974560,
                         "name": "person1"
                     }
                 ]
             },
             {
                 "person2": [
                     {
                         "money": 696969696969969696969696969,
                         "name": "person2"
                     }
                 ]
             }
         ]
     }

这是一本字典

  • 键是"users",它的值是一个(嵌套的)字典列表,
  • 这个列表中的第二个位置是^{

所以解决办法是

>>> jsn["users"][1]
{'person2': [{'money': 696969696969969696969696969, 'name': 'person2'}]}

相关问题 更多 >