eval()函数:将字符串str当成有效的表达式来求值并返回计算结果。
它可以把list,tuple,dict和string相互转化。
在接口自动化中经常用到 经常用到eval()函数,请求接口返回json串,json只是一种打包格式,不具有操作性,
需要使用eval()或json.loads()转化为字典进行操作。
接口有可能会返回字段值为null,那么在转换的字符串中,存在null时,就会出现NameError: name ‘null’ is not defined这个错误。
解决办法:
使用 replace()方法。
将字符串中的null替换掉!
str = "{"a":"1","b":"2","c":null}"
str.replace("null","1111")
a = eval(str)
print(a)
网络请求:
response = requests.post(url=url, data=data, headers=headers,verify = False) r = eval(response.text.replace("null","1111"))
这样就可以解决此次报错了,因为null被替换为了1111