这两天在用python调用接口时,因为接口返回的是str类型的数据,形如:

因为这样的str类似字典,所以我想把它转为字典以便处理,使用的是eval来进行转换,如下:

  1.  
    <pre name="code" class="python">a='{"errno":0,"errmsg":null,"unassigned":0,"total":0,"list":null}'
  2.  
    a=eval(a)
  3.  
    print type(a)

结果出现错误如下:NameError: name ‘null’ is not defined

查询资料发现,python无法处理null这样的字符串,所以报错。解决方法有两个:

一、把null转换为python可以接受的字符,例如空字符串

如:

  1.  
    global null
  2.  
    null=''
  3.  
    a='{"errno":0,"errmsg":null,"unassigned":0,"total":0,"list":null}'
  4.  
    a=eval(a)
  5.  
    print type(a)

发现这时就可以正常转换了。

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

这是一个大杀器,直接使用如下语句:

  1.  
    a=json.loads(a)
  2.  
    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)

https://blog.csdn.net/onlyanyz/article/details/45745045

最新文章

  1. [C#]想说一说嵌套数组
  2. 获取枚举值上的Description特性说明
  3. 在A*寻路中使用二叉堆
  4. Android Studio常用快捷键汇总(mac)
  5. Sudoku Solver
  6. 记录android开发博客
  7. java学习之JDBC
  8. [Linux]使用Clang实现代码静态分析
  9. headfirst设计模式(1)—策略模式
  10. goagant:403. That’s an error.
  11. VerilogHDL可综合设计的注意事项
  12. Oracle中Union与Union All的区别(适用多个数据库)
  13. centos7上关闭防火墙
  14. kafka 控制台命令
  15. 小程序之 微信小程序下拉上方出现空白
  16. 基于ajax提交数据
  17. 数据库设计理论与实践&#183;&lt;四&gt;数据库基本术语及其概念
  18. 案例学python——案例三:豆瓣电影信息入库
  19. pl-svo代码解读
  20. 面向对象三大特性一一继承(inheritance)和组合(Composition)

热门文章

  1. chatGPT搭建之旅
  2. Linux系统下修改KVM虚拟机配置
  3. Docker 对于容器的增删查命令
  4. 088_BatchApex_Callout
  5. 导出PDF 空白赋值备份
  6. TCP和UDP协议之间的区别与原理
  7. 国内centerOs6的yum源都不维护了
  8. 26_自定义Loader
  9. React使用高阶组件与Hooks实现权限拦截教程
  10. 【PS】PS如何扩展画布?