在接口测试过程中,为了取值将形如字典形式的字符串使用eval()方法转化成字典方便取值

str={"code":100,"num":1,"data":5}

当值不是null时可以使用eval(str)正常转为字典

strnull={"code":100,"num":1,"data":[null]}

而当值为null值时,再次使用eval(strnull)则报错:name 'null' is not defined

如何处理这个报错呢?如何将值为null的字符串转化成字典类型呢?

上网查询后得知:python无法处理null这样的字符串,python中的变量“空”,不是null,也不是NULL,而是None,所以报错

解决办法如下:

一、将null转化为空

global null

null = ''

strnull={"code":100,"num":1,"data":[null]}

strdict=eval(strnull)

type(strdict)#dict

print(strdict)#{'data': [''], 'code': 100, 'num': 1}

这种办法可以正确转为字典类型了~~~~

二、使用json模块的loads()方法

from flask import json#引入json模块
strdict=json.loads(strnull)
print(strdict)#{'data': [None], 'num': 1, 'code': 100}

相关文章:

  • 2021-05-17
  • 2021-04-17
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-10-29
  • 2021-12-18
猜你喜欢
  • 2021-09-10
  • 2021-07-28
  • 2021-06-18
  • 2021-11-23
  • 2022-12-23
  • 2022-12-23
  • 2023-02-08
相关资源
相似解决方案