5akura1 2022-05-20 00:28 采纳率: 100%
浏览 56
已结题

python在api返回了一段json想要取出‘id'下的值并输出应该如何遍历?

api返回了一段json想要取出‘id'下的值并输出应该如何遍历?python只会一点简单的语法

如下图的“songs”中的"id": 1933232289
在json中出现了多次,想遍历输出应该如何操作,

问题相关代码,请勿粘贴截图
"songs": [
        {
            "name": "slow ride",
            "id": 1933232289,
            "pst": 0,
            "t": 0,
            "ar": [
                {
                    "id": 12919519,
                    "name": "Matt吕彦良",
                    "tns": [],
                    "alias": []
                },
                {
                    "id": 10473,
                    "name": "袁娅维TIA RAY",
                    "tns": [],
                    "alias": []
                }
            ],
        },
        {
            "name": "是我",
            "id": 1432632134,
            "pst": 0,
            "t": 0,
            "ar": [
                {
                    "id": 33913095,
                    "name": "KIND",
                    "tns": [],
                    "alias": []
                }
            ],
        },

  • 写回答

1条回答 默认 最新

  • 广大菜鸟 2022-05-20 01:15
    关注
    
    import json
    
    json_response = """
    {"songs" : [
            {
                "name": "slow ride",
                "id": 1933232289,
                "pst": 0,
                "t": 0,
                "ar": [
                    {
                        "id": 12919519,
                        "name": "Matt吕彦良",
                        "tns": [],
                        "alias": []
                    },
                    {
                        "id": 10473,
                        "name": "袁娅维TIA RAY",
                        "tns": [],
                        "alias": []
                    }
                ]
            },
            {
                "name": "是我",
                "id": 1432632134,
                "pst": 0,
                "t": 0,
                "ar": [
                    {
                        "id": 33913095,
                        "name": "KIND",
                        "tns": [],
                        "alias": []
                    }
                ]
            }
    ]}
    """
    dict_json = json.loads(json_response)
    ids = []
    
    
    def deep(dct):
        if type(dct) == dict:
            for k, v in dct.items():
                if type(v) == dict or type(v) == list:
                    deep(v)
                elif k == 'id':
                    ids.append(v)
        elif type(dct) == list:
            for item in dct:
                deep(item)
    
    
    deep(dict_json)
    for item in ids:
        print(item)
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月28日
  • 已采纳回答 5月20日
  • 创建了问题 5月20日

悬赏问题

  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行