Python中用eval将字符串转换为字典时候出错:NameError: name ‘null’ is not defined的解决方法
来源:互联网 发布:掌上电力显示网络问题 编辑:程序博客网 时间:2024/06/07 06:02
这两天在用python调用接口时,因为接口返回的是str类型的数据,形如:
因为这样的str类似字典,所以我想把它转为字典以便处理,使用的是eval来进行转换,如下:
<pre name="code" class="python">a='{"errno":0,"errmsg":null,"unassigned":0,"total":0,"list":null}'a=eval(a)print type(a)
结果出现错误如下:NameError: name ‘null’ is not defined
查询资料发现,python无法处理null这样的字符串,所以报错。解决方法有两个:
一、把null转换为python可以接受的字符,例如空字符串
如:
global nullnull=''a='{"errno":0,"errmsg":null,"unassigned":0,"total":0,"list":null}'a=eval(a)print type(a)
发现这时就可以正常转换了。
二、使用json模块的loads()方法
这是一个大杀器,直接使用如下语句:
a=json.loads(a)print type(a)完事,转换正常,python自动把null转换为了python支持的None。
当然,要记得引入json。
注意:json字符串中,必须用双引号,如果定义成下面这样,是不对的
a="{'errno':0,'errmsg':null}"
使用json,loads()时会报错:
ValueError: Expecting property name: line 1 column 1 (char 1)
0 0
- Python中用eval将字符串转换为字典时候出错:NameError: name ‘null’ is not defined的解决方法
- Python中,用eval强制将字符串转换为字典变量时候出错:NameError: name 'null' is not defined
- [python]用eval强制将字符串转换为字典变量时候出错:NameError: name 'null' is not defined[python]用eval函数 字符串转dict
- python NameError: name 'raw_input' is not defined
- 【Python】NameError:name ‘xrange’ is not defined
- 【python】-- NameError: name 'reload' is not defined
- Python NameError: name 'reduce' is not defined
- python NameError: name ' book ' is not defined
- Python编译时提示“NameError: name 'Popen' is not defined”及”NameError: name 'PIPE' is not defined“错误的解决
- paip.python NameError name 'xxx' is not defined\
- python实例2—NameError: name 'file' is not defined
- 关于python-NameError: global name 'platform' is not defined
- python提示NameError: name 'xxx' is not defined
- Python 解决 :NameError: name 'reload' is not defined 问题
- Python 报错 NameError: name '_name_' is not defined
- python 学习day2 NameError: name '_name_' is not defined
- Python 解决 :NameError: name 'reload' is not defined 问题
- Python问题之“NameError: name 'reload' is not defined”
- STC89S52RC模拟串口
- MAVEN搭建SpirngMVC和Spirng所需的依赖包
- org.mockito.exceptions.misusing.UnfinishedStubbingException
- ListCollectionView.Refresh issue
- 【keil配置,备查】STM32开发环境(工具)之Keil MDK 介绍
- Python中用eval将字符串转换为字典时候出错:NameError: name ‘null’ is not defined的解决方法
- IOS常用第三方框架 --- MBProgressHUD 提示效果
- ASCII编码和UNICODE编码转换
- Java开发环境搭建(一环境变量)
- Runtime之对象、类(类对象)、元类
- 电子商务文件存储及读取服务的设计和开发思路(JMagick用于生成高清的缩略图)
- Spring 3 REST hello world example
- OpenCV学习入门(三):kmeans原理及代码
- jQuery的deferred对象详解