在python中获取嵌套json字符串的键

在python中获取嵌套json字符串的键,python,json,key,Python,Json,Key,} Concider在json字符串之上,我想从这个json字符串中获取所有具有适当层次结构的键,如 身份证, 类型 名称 ppu, 击球手 然后在击球手中: 击球手 浇头 在batter中:id,键入 在topping中:id,type 我正在使用python,有什么方法可以达到这个目的吗?如果这是一个字符串,请尝试: { "id": "0001", "type": "donut", "name": "Cake", "ppu": 0.55, "batters": { "

}

Concider在json字符串之上,我想从这个json字符串中获取所有具有适当层次结构的键,如

身份证, 类型 名称 ppu, 击球手

然后在击球手中: 击球手 浇头

在batter中:id,键入

在topping中:id,type


我正在使用python,有什么方法可以达到这个目的吗?

如果这是一个字符串,请尝试:

{
"id": "0001",
"type": "donut",
"name": "Cake",
"ppu": 0.55,
"batters":
    {
        "batter":
            [
                { "id": "1001", "type": "Regular" },
                { "id": "1002", "type": "Chocolate" },
                { "id": "1003", "type": "Blueberry" },
                { "id": "1004", "type": "Devil's Food" }
            ]
    },
"topping":
    [
        { "id": "5001", "type": "None" },
        { "id": "5002", "type": "Glazed" },
        { "id": "5005", "type": "Sugar" },
        { "id": "5007", "type": "Powdered Sugar" },
        { "id": "5006", "type": "Chocolate with Sprinkles" },
        { "id": "5003", "type": "Chocolate" },
        { "id": "5004", "type": "Maple" }
    ]

如果这是一个dict,请将其解析为字符串并使用上面的方法。

如果这是一个字符串,请使用data=json.loadsstring将其转换为对象,然后使用data[id]、data[batters][batter][0][id]等。我需要通用代码来获取任何json的键。这只是一个示例data.keys为您提供id、类型、名称、ppu、batters、,打顶,然后必须检查数据类型[id]、数据类型[type]等-如果是字典,则必须获取例如数据[batters]。键并再次检查类型。如果它是列表,那么您必须检查数据[topping][0]和数据[topping][1]等的类型。感谢buddy,它工作得非常好:-现在我正在尝试构建一个通用递归函数或一些嵌套for循环,以便在每个嵌套级别上输出键,您能帮助我吗?我无法为3个或3个以上的嵌套级别执行此工作,如果您将其分配给变量,请仅通过变量[key]访问。
import json
json.loads(your_variable)