在接口測試過程中,為了取值將形如字典形式的字符串使用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}
