Как получить имена списков из списка (python, json)

Как получить все имена списков из списка perms ?

  {
        "perms": [
          {
              "VIP": [
                {
                  "da": true
                }
              ],
              "admin": [
                {
                  "da": true
                }
              ]
          }
        ] 
    }

Попытался сделать так:

for a in data['perms']:
    for i in range(len(a)):
        return a[i]

но получал KeyError 0


Ответы (2 шт):

Автор решения: Legat

Как получить все имена списков из списка perms ?

У Вас тут словарь, а в словаре список (list) словарей. Поэтому получаем ключи словарей

    data = {
        "perms": [
            {
                "VIP": [
                    {
                        "da": True
                    }
                ],
                "admin": [
                    {
                        "da": True
                    }
                ]
            }
        ]
    }
    for dicts in data["perms"]:
        print(dicts.keys())
→ Ссылка
Автор решения: Сергей Ш
import json

js = '''{
        "perms": [
          {
              "VIP": [
                {
                  "da": true
                }
              ],
              "admin": [
                {
                  "da": true
                }
              ]
          }
        ] 
    }'''
dct = json.loads(js)

for dicts in dct["perms"]:
    print(dicts.keys())
    
# dict_keys(['VIP', 'admin'])

for key, value in dct["perms"][0].items():
    print(key, value)

# VIP [{'da': True}]
# admin [{'da': True}]
→ Ссылка