json.dumps() 是将一个Python数据结构转换为一个JSON编码的字符串

json.loads() 是将一个JSON编码的字符串转换为一个Python数据结构
 
一般要求当要字符串通过loads转为python数据类型时,得外层用单引号,里面元素key和value用双引号,不然会报错
 
直接将字符串转换为字典时,会出现如下情况
>>> import json
>>> a = '{"a":1,"b":2}'
>>> b = json.loads(a)
>>> b
{u'a': 1, u'b': 2}
字典的字符串元素前面均加了个‘u’,  这样产生的字典,再转成字符串,转会字典时会报错
>>> c
"{u'a': 1, u'b': 2}"
>>> d = json.loads(c)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/json/__init__.py", line 339, in loads
    return _default_decoder.decode(s)
  File "/usr/local/lib/python2.7/json/decoder.py", line 364, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/local/lib/python2.7/json/decoder.py", line 380, in raw_decode
    obj, end = self.scan_once(s, idx)
ValueError: Expecting property name: line 1 column 2 (char 1)
所以loads在处理中,还需要把里面的u前缀修饰符去掉
 
如果要避免,转换中字典元素出现‘u’,可以直接用eval()函数将其转为字典
In [212]: a
Out[212]: '{"a":"b"}'

In [213]: b =eval(a)

In [214]: b
Out[214]: {'a': 'b'}

 
 
 
 
 
 
 
 

最新文章

  1. Dapper入门学习
  2. JavaScript中对象的比较
  3. JavaScript 获取当前时间戳
  4. HDU 5724 Chess (状态压缩sg函数博弈) 2016杭电多校联合第一场
  5. stm32——RTC实时时钟
  6. BPMX3模拟登录
  7. Css 书写规范【转】
  8. Ubuntu 10.04下安装Qt
  9. Java 中 compareTo方法问题
  10. asp.net MVC 框架中控制器里使用Newtonsoft.Json对前端传过来的字符串进行解析
  11. [Swift]LeetCode403. 青蛙过河 | Frog Jump
  12. PAT A1110 Complete Binary Tree (25 分)——完全二叉树,字符串转数字
  13. anaconda的源配置的坑
  14. Redis4.0新特性之-大KEY删除
  15. STM平台增加性能测试/稳定性测试部分【一】
  16. iOS:UIScrollView控件和UIPageControl控件的详解
  17. 好久没做codeforces
  18. javaWeb 开发的成长路线
  19. CSS动画@-webkit-keyframes
  20. Luogu P3579 [POI2014]PAN-Solar Panels

热门文章

  1. Pandas | 16 聚合
  2. 使用plv8+ shortid npm包构建一个短唯一id服务
  3. Layui 在新标签中打开页面 / 模拟点击菜单
  4. DIV 始终位于文档底部
  5. 请解释一下css3的flexbox(弹性盒布局模型),以及适用场景
  6. 复旦大学2018--2019学年第二学期高等代数II期末考试情况分析
  7. 几句话总结一个算法之Policy Gradients
  8. IDEA调试进入class文件
  9. centos7.5 搭建上FTP服务
  10. CentOS 7下JumpServer安装及配置