python 遍历json、字典dict,替换value

        接口自动化测试时,有时候请求体(json格式)是固定的,每次请求只想替换请求体中的某个key的值,需要遍历并替换调,例如注册接口,每次手机号或者用户名不能重复,那么请求前需要动态替换手机号或者用户名。上代码,举例替换值为空:

class RepalceJsonValue:
    """
    替换指定key的value为空
    """

    def __init__(self, goal_key):
        self.goal_key = goal_key

    def _is_dict(self, o):
        for key, value in o.items():
            if key == self.goal_key:
                o[key] = ""
            else:
                self.get_re(value)

    def _is_list(self, o):
        for i in o:
            self.get_re(i)

    def get_re(self, o):
        if isinstance(o, dict):
            self._is_dict(o)
        elif isinstance(o, list):
            self._is_list(o)

if __name__ == '__main__':
    aa = {
        "interface_body_format": {
            "a": 1
        },
        "aaa": 3,
        "bbb": [1, 2],
        "ccc": [{
            "ddd": 4
        }]
    }

# 替换interface_body_format 的值为空:
    rjv = RepalceJsonValue("interface_body_format")
    rjv.get_re(aa)

返回结果====>>{'interface_body_format': '', 'aaa': 3, 'bbb': [1, 2], 'ccc': [{'ddd': 4}]}

# 替换ddd 的值为空:
    rjv = RepalceJsonValue("ddd")
    rjv.get_re(aa)

返回结果====>>{'interface_body_format': {'a': 1}, 'aaa': 3, 'bbb': [1, 2], 'ccc': [{'ddd': ''}]}

完毕~

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值