json - 在python中从json获取 key

标签 json python-2.7

我有一个 API,它的响应是这样的 json:

{
"a":1,
"b":2,
"c":[
     {
     "d":4,
     "e":5,
     "f":{
         "g":6
         }
     }
    ]
}

我怎样才能写一个python程序来给我 key ['d','e','g'] .我试过的是:
jsonData = request.json() #request is having all the response which i got from api
c = jsonData['c']
for i in c.keys():
    key = key + str(i)
print(key)

最佳答案

仅返回不包含字典作为其值的键的函数。

jsonData = {
    "a": 1,
    "b": 2,
    "c": [{
        "d": 4,
        "e": 5,
        "f": {
            "g": 6
        }
    }]
}


def get_simple_keys(data):
    result = []
    for key in data.keys():
        if type(data[key]) != dict:
            result.append(key)
        else:
            result += get_simple_keys(data[key])
    return result

print get_simple_keys(jsonData['c'][0])

避免使用递归更改行 result += get_simple_keys(data[key])result += data[key].keys()

关于json - 在python中从json获取 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34327719/

相关文章:

python - 如果开头只有一个斜杠,则模式必须成功

python - django-tables2:创建输入文本框

django - 无法在 django(使用 python-opencv)项目中找到人脸(人脸检测)

javascript - 设置循环以解析 JSON 响应

javascript - jQuery Datatables 从服务器加载数据

php - 使用 laravel 将 .JSON 文件保存到数据库

python-2.7 - 项目列表的 Flask 部分 View

java - JsonArray 的任务没有值(value) - Android

javascript - 如何将 CSV 数据转换为 JSON 数据?

python - 匹配两个字典中的键,并使用匹配的键和两个关联值创建新字典