python中字符串类型json操作的注意事项

 更新时间:2017年05月02日 15:49:23   投稿:daisy  
这篇文章主要给大家介绍了python中字符串类型json操作的一些注意事项,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。

python操作json的方法有

json.dumps——将json对象(字典)转换为字符串对象

json.loads——将字符串对象转换为json对象(字典)

如果定义json对象

jsonstring1={"results":[{"id":"1","name":"\u9ed8\u8ba4\u5206\u7ec4","policy":"4","timer_scan_setting":"{\"last\":\"10.29.13\",\"setting\":\"fulldisk\",\"type\":\"day\",\"hour\":\"13\"}"},
{"id":"2","name":"\u6d4b\u8bd5\u7684","policy":"1","timer_scan_setting":"{\"last\":\"10.29.15\",\"setting\":\"fulldisk\",\"type\":\"day\",\"hour\":\"15\"}"},{"id":"4","name":"\u4ea7\u54c1\u7ec4","policy":"3","timer_scan_setting":"{\"last\":\"10.8.15\",\"setting\":\"disable\"}"}]}

可以直接按json操作,比如

print jsonstring1.keys()
print jsonstring1['results'][0]['policy']

也可以转个360度再操作

jsonstring1=json.dumps(jsonstring1)
jsonstring1=json.loads(jsonstring1)
print jsonstring1.keys()
print jsonstring1['results'][0]['policy']

但是如果定义字符串对象就要小心了

jsonstring2='''{"results":[{"id":"1","name":"\u9ed8\u8ba4\u5206\u7ec4","policy":"4","timer_scan_setting":"{\"last\":\"10.29.13\",\"setting\":\"fulldisk\",\"type\":\"day\",\"hour\":\"13\"}"},
{"id":"2","name":"\u6d4b\u8bd5\u7684","policy":"1","timer_scan_setting":"{\"last\":\"10.29.15\",\"setting\":\"fulldisk\",\"type\":\"day\",\"hour\":\"15\"}"},{"id":"4","name":"\u4ea7\u54c1\u7ec4","policy":"3","timer_scan_setting":"{\"last\":\"10.8.15\",\"setting\":\"disable\"}"}]}'''

这个只是对上面的json对象加了三引号转为一个字符串,所以理论上可以直接loads之后就按json操作

json.loads(jsonstring2)

但是实际却报错了,原因是因为大括号前后的双引号没有去掉,网上很多在线的json格式化工具对于这些双引号不会报错,但是python会,而定义json对象时加了双引号操作却没报错,是因为不加里面的内容会被转义,所以千万不能完全相信网上的json格式校验工具。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。

相关文章

  • Python企业编码生成系统总体系统设计概述

    Python企业编码生成系统总体系统设计概述

    这篇文章主要介绍了Python企业编码生成系统总体系统设计,简单描述了Python企业编码生成系统的功能、结构与相关编码实现技巧,需要的朋友可以参考下
    2019-07-07
  • 在pycharm 中添加运行参数的操作方法

    在pycharm 中添加运行参数的操作方法

    今天小编就为大家分享一篇在pycharm 中添加运行参数的操作方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python的类实例属性访问规则探讨

    Python的类实例属性访问规则探讨

    这篇文章主要介绍了Python的类实例属性访问规则,本文总结了一些对C++和Java程序员来说不是很直观的地方来说明Python中的类实例属性访问,需要的朋友可以参考下
    2015-01-01
  • python打包生成的exe文件运行时提示缺少模块的解决方法

    python打包生成的exe文件运行时提示缺少模块的解决方法

    今天小编就为大家分享一篇python打包生成的exe文件运行时提示缺少模块的解决方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • python基于BeautifulSoup实现抓取网页指定内容的方法

    python基于BeautifulSoup实现抓取网页指定内容的方法

    这篇文章主要介绍了python基于BeautifulSoup实现抓取网页指定内容的方法,涉及Python使用BeautifulSoup模块解析html网页的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • 代码详解Python的函数基础(1)

    代码详解Python的函数基础(1)

    这篇文章主要为大家详细介绍了Python的函数基础,使用了函数调用和函数定义,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • python处理RSTP视频流过程解析

    python处理RSTP视频流过程解析

    这篇文章主要介绍了python处理RSTP视频流过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-01-01
  • Python安装.whl文件流程以及问题解决方法

    Python安装.whl文件流程以及问题解决方法

    WHL文件是以Wheel格式保存的Python安装包,Wheel是Python发行版的标准内置包格式,下面这篇文章主要给大家介绍了关于Python安装.whl文件流程以及问题解决方法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • itchat-python搭建微信机器人(附示例)

    itchat-python搭建微信机器人(附示例)

    这篇文章主要介绍了itchat-python搭建微信机器人,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • MATLAB如何利用散点进行函数曲线拟合

    MATLAB如何利用散点进行函数曲线拟合

    这篇文章主要介绍了MATLAB如何利用散点进行函数曲线拟合问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11

最新评论