python eval 函数使用 报错NameError: name ‘null’ is not defined

本文介绍如何通过eval()函数将JSON字符串转换为Python字典,并解决转换过程中遇到的null值错误。通过使用replace()方法替换null,可以避免NameError异常。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值