python 替换json中的字段值

上一篇 / 下一篇  2016-12-03 11:44:45 / 个人分类:python学习

1、普通json

   最近在使用python,编码访问接口,遇到了一些问题,如果想要用例自动起来,可能需要将json中的某些值,参数化,例如一个json:
httpjson={"paytype":"0",
"goodsid":"编号",
"reqname":"send"
}
   我在使用这个json时,想让,"goodsid"这个参数,按照我们传入的值进行变化,直接将json串中的"goodsid":"编号"键值对,替换为"goodsid":id:
id=1
httpjson={"paytype":"0",
"goodsid":id,
"reqname":"send"
}

print httpjson

执行结果为:{'goodsid': '1', 'paytype': '0', 'reqname': 'send'}
可见,这个json中,"goodsid"的值已经被成功替换了



2、转化为字符串类型的json

  在使用json时,很多时候需要把json转换成字符串,把json转化成字符串格式,我采用的是直接加冒号:
httpjson='''{"paytype":"0",
          "goodsid":id,
          "reqname":"send"
    }'''
print type(httpjson)

执行结果为:<type 'str'>
    这个json的格式已经变为字符串了,对于字符串格式的json,想要改变json中某些键值对的值,就不能再采用上面的方式了,我使用的是函数replace():
id='111'
httpjson='''{'paytype':'0',
     'goodsid':'bianhao',
     'reqname':'send'
     }'''
     
print type(httpjson)    
httpjson1 = httpjson.replace('bianhao',id)
print httpjson1

执行结果为:<type 'str'>
{'paytype':'0',
     'goodsid':'111',
     'reqname':'send'
     }

可见,键值被替换成功

在使用replace()函数的时候,还遇到一个小问题,但是直接使用的是
httpjson.replace('bianhao',id)
print httpjson
没有重新声明一个变量,保存更新之后的值,发现无论怎样都没有替换成功,后来经过同事指点才发现,这个replace()函数,是重新生成一个值,不是在原来的变量上改,后来,修改为:
httpjson1 = httpjson.replace('bianhao',id)
print httpjson1
替换成功了,看来基础还是不够扎实,还需要多学习多积累。

TAG: Python python

 

评分:0

我来说两句

Open Toolbar