当前位置: 代码网 > it编程>前端脚本>Python > python如何通过Json路径返回Json响应对应的值

python如何通过Json路径返回Json响应对应的值

2024年07月04日 Python 我要评论
通过json路径返回json响应对应的值最近做一个接口自动化项目时,需要根据json响应体的路径来取出对应的值。json体有不同的层级结构,在python中,类似于字典包数组或数组包字典的组合。那知道

通过json路径返回json响应对应的值

最近做一个接口自动化项目时,需要根据json响应体的路径来取出对应的值。

json体有不同的层级结构,在python中,类似于字典包数组或数组包字典的组合。

那知道了json值的路径,怎么去拿到值呢。

话不多说,上代码

class pathvalue:
    def __init__(self, json_res, value_path):
        """
        通过json路径找到需要的值,并存入一个全局字典
        :param json_res: json响应
        :param value_path: 取值路径
        """
        self.json_res = json_res
        self.value_path = value_path

    def path_value_dic(self):
        """
        如果存在多个值,使用,分隔value_path
        :return:
        """
        l_path = self.value_path.split(",")
        for path in l_path:
            self.json_path_value(self.json_res, path)

    def json_path_value(self, d, s):
        """
        根据传入的json路径从响应中取值,存入dic,主要运用了递归函数
        :param d: 响应json
        :param s: json路径
        :return: 存入值的字典dic
        """
        pahts = s.split(".")
        if len(pahts) == 1:
            dic[pahts[0]] = d[pahts[0]]
            return
        for p in pahts:
            if p.isnumeric():
                a = d[int(p)]
                return self.json_path_value(a, '.'.join(pahts[1:]))
            a = d[p]
            return self.json_path_value(a, '.'.join(pahts[1:]))


if __name__ == '__main__':
    dic = {}
    d1 = {
        "page": 1,
        "total": 919,
        "items": [
            {
                "csku": "1099688",
                "rsku": "6992044",
            }
        ],
    }
    s_path = 'items.0.csku,items.0.rsku'
    # s_path = 'items.0.csku'
    p = pathvalue(d1, s_path)
    p.path_value_dic()
    print(dic)

以上代码,直接跑,可将需要取的值存入一个字典。

具体想怎么存怎么使用,就各自发挥了~

python:返回json数据

安装json库

pip install json
conda install json

在python中,你可以使用内置的json模块来返回一个json数据。以下是一个简单的例子:

示例

import json  
  
def get_json():  
    data = {  
        "name": "john",  
        "age": 30,  
        "city": "new york"  
    }  
    return json.dumps(data)  
  
# 调用函数并打印返回的json数据  
print(get_json())

在这个例子中,首先导入了json模块。

然后定义了一个名为get_json的函数,该函数返回一个字典。

我们使用json.dumps()函数将这个字典转换为一个json字符串,然后返回这个字符串。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com