可以使用递归的方式来解决这个问题。具体实现如下:

def get_bottom_list(data):
    """
    获取json字符串中最底层的list数据
    :param data: json字符串
    :return: 最底层的list数据
    """
    if isinstance(data, list):  # 如果当前数据是list,则递归调用自身,直到找到最底层的list数据
        return get_bottom_list(data[0])
    elif isinstance(data, dict):  # 如果当前数据是dict,则遍历所有的value,递归调用自身
        for value in data.values():
            return get_bottom_list(value)
    else:  # 如果当前数据不是list也不是dict,则说明已经到达了最底层,直接返回该数据
        return data

这个方法首先判断当前数据是否是list类型,如果是,则递归调用自身,直到找到最底层的list数据。如果当前数据是dict类型,则遍历所有的value,递归调用自身。如果当前数据既不是list也不是dict,则说明已经到达了最底层,直接返回该数据。

给予一个可以转为list的未知层数的json字符串写一个取最底下一层list的数据的方法

原文地址: http://www.cveoy.top/t/topic/br0i 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录