Python 根据关键字取出json的值

    def get_json_value_by_key(self, in_json, target_key, results=[]):
        """
        根据key值读取对应的value值
        :param in_json:传入的json
        :param target_key: 目标key值
        :param results:
        :return:
        """
        if isinstance(in_json, dict):  # 如果输入数据的格式为dict
            for key in in_json.keys():  # 循环获取key
                data = in_json[key]
                self.get_json_value_by_key(data, target_key, results=results)  # 回归当前key对于的value
                if key == target_key:  # 如果当前key与目标key相同就将当前key的value添加到输出列表
                    results.append(data)
        elif isinstance(in_json, list) or isinstance(in_json, tuple):  # 如果输入数据格式为list或者tuple
            for data in in_json:  # 循环当前列表
                self.get_json_value_by_key(data, target_key, results=results)  # 回归列表的当前的元素
        return results

 如果传入的json为string 的话,需要将string进行eval转换为字典后再进行取值

猜你喜欢

转载自www.cnblogs.com/jescs/p/12199812.html