Python3内置模块之json编解码方法小结【推荐】


Posted in Python onDecember 09, 2020

Python3中我们利用内置模块 json 解码和编码 JSON对象 ,JSON(JavaScript Object Notation)是指定 RFC 7159(废弃了RFC 4627)和 ECMA-404是一种轻量级数据交换格式,受 JavaScript对象文字语法的启发 (虽然它不是JavaScript 1的严格子集)。下面为Python对象-->JSON对象的对照关系表。

dumps编码

我们利用 dumps 将Python对象编码为 JSON对象 ,当然 dumps 只完成了序列化为str,而 dump 必须传文件描述符,将序列化的str保存到文件中,它们的函数定义为

dumps(obj, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw) dump(obj, fp, *, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, default=None, sort_keys=False, **kw)

编码字典

import json 
D = {'one': 1, 'two': 2, 'three': 3}
J = json.dumps(D)
print(J)

示例结果:

{"one": 1, "two": 2, "three": 3}

编码列表

import json 
L = [1, 'Python ', {'one': 1, 'two': 2, 'three': 3}, '']
J = json.dumps(L)
print(J)

示例结果:

[1, "Python ", {"one": 1, "two": 2, "three": 3}, ""]

编码

import json 
S = 'Python'
J = json.dumps(S)
print(J)

示例结果:

"Python"

格式化输出JSON

import json 
L = [1, 'Python ', {'one': 1, 'two': 2, 'three': 3}, True]
J = json.dumps(L, sort_keys=True, indent=4)
print(J)

示例结果:

[
  1,
  "Python ",
  {
    "one": 1,
    "three": 3,
    "two": 2
  },
  true
]

loads解码

我们利用 loads 用于解码 JSON对象 。解码结果即与之对应的 Python对象 类型。当然 loads 只完成了反序列化, load 只接收文件描述符,完成读取文件和反序列化。它们的函数定义为

loads(s, *, encoding=None, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw) load(fp, *, cls=None, object_hook=None, parse_float=None, parse_int=None, parse_constant=None, object_pairs_hook=None, **kw)

比如我们用来解码上个示例的数据

import json 
jsondata = '''
[
 1,
 "Python ",
 {
  "one": 1,
  "three": 3,
  "two": 2
 },
 true
]
'''
J = json.loads(jsondata)
print(type(J))
print(J)

示例结果:

<class 'list'>
[1, 'Python ', {'one': 1, 'three': 3, 'two': 2}, True]

可以看到我们成功对上个例子中的JSON对象进行了解码,并且最终的解码结果为Python列表对象类型,符合Python对象-JSON对象对照表的结果。

总结

以上所述是小编给大家介绍的Python3内置模块之json编解码方法小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
python检查序列seq是否含有aset中项的方法
Jun 30 Python
python实现文件路径和url相互转换的方法
Jul 06 Python
Djang中静态文件配置方法
Jul 30 Python
Python编程实现删除VC临时文件及Debug目录的方法
Mar 22 Python
Python 读写文件的操作代码
Sep 20 Python
python 去除二维数组/二维列表中的重复行方法
Jan 23 Python
python绘图模块matplotlib示例详解
Jul 26 Python
Python检查图片是否损坏及图片类型是否正确过程详解
Sep 30 Python
selenium+python实现自动登陆QQ邮箱并发送邮件功能
Dec 13 Python
python如何查看安装了的模块
Jun 23 Python
python使用建议与技巧分享(一)
Aug 17 Python
python 第三方库paramiko的常用方式
Feb 20 Python
一文了解Python并发编程的工程实现方法
May 31 #Python
Python微信操控itchat的方法
May 31 #Python
python基于SMTP协议发送邮件
May 31 #Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
May 30 #Python
Python自定义函数计算给定日期是该年第几天的方法示例
May 30 #Python
基于Python打造账号共享浏览器功能
May 30 #Python
Python实现带下标索引的遍历操作示例
May 30 #Python
You might like
《DOTA3》开发工作已经开始 《DOTA3》将代替《DOTA2》
2021/03/06 DOTA
第十三节--对象串行化
2006/11/16 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
2011/12/25 PHP
基于PHP导出Excel的小经验 完美解决乱码问题
2013/06/10 PHP
yii操作cookie实例简介
2014/07/09 PHP
将nodejs打包工具整合到鼠标右键的方法
2013/05/11 NodeJs
Javascript设置对象的ReadOnly属性(示例代码)
2013/12/25 Javascript
使用变量动态设置js的属性名
2014/10/19 Javascript
Vuejs第十二篇之动态组件全面解析
2016/09/09 Javascript
很棒的一组js图片轮播特效
2017/01/12 Javascript
JS实现针对给定时间的倒计时功能示例
2017/04/11 Javascript
Angularjs根据json文件动态生成路由状态的实现方法
2017/04/17 Javascript
利用vue组件自定义v-model实现一个Tab组件方法示例
2017/12/06 Javascript
微信小程序数据存储与取值详解
2018/01/30 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
2018/07/05 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
JS实现斐波那契数列的五种方式(小结)
2020/09/09 Javascript
Python实现的寻找前5个默尼森数算法示例
2018/03/25 Python
Python面向对象基础入门之编码细节与注意事项
2018/12/11 Python
python调用c++ ctype list传数组或者返回数组的方法
2019/02/13 Python
Django错误:TypeError at / 'bool' object is not callable解决
2019/08/16 Python
Pytorch卷积层手动初始化权值的实例
2019/08/17 Python
PyCharm中配置PySide2的图文教程
2020/06/18 Python
css3 flex实现div内容水平垂直居中的几种方法
2020/03/27 HTML / CSS
美国新蛋IT数码商城:Newegg.com
2016/07/21 全球购物
文秘专业毕业生就业推荐信
2013/11/08 职场文书
出纳的岗位职责
2013/11/09 职场文书
计算机网络专业推荐信
2013/11/24 职场文书
大学迎新晚会主持词
2014/03/24 职场文书
工地安全标语
2014/06/07 职场文书
2014年党的群众路线学习心得体会
2014/11/05 职场文书
2014年学校党建工作总结
2014/11/11 职场文书
2014年文艺部工作总结
2014/11/17 职场文书
销售经理岗位职责范本
2015/04/02 职场文书
特种设备安全管理制度
2015/08/06 职场文书
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis