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日

悬赏问题

  • ¥100 关于#VijeoCitect#的问题,如何解决?(标签-ar|关键词-数据类型)
  • ¥30 数字信号处理实验报告
  • ¥15 ensp路由器启动不了一直报#
  • ¥50 安卓10如何在没有root权限的情况下设置开机自动启动指定app?
  • ¥15 ats2837 spi2从机的代码
  • ¥200 wsl2 vllm qwen1.5部署问题
  • ¥100 有偿求数字经济对经贸的影响机制的一个数学模型,弄不出来已经快要碎掉了
  • ¥15 数学建模数学建模需要
  • ¥15 已知许多点位,想通过高斯分布来随机选择固定数量的点位怎么改
  • ¥20 nao机器人语音识别问题