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基于xml parse实现解析cdatasection数据
Sep 30 Python
使用python加密自己的密码
Aug 04 Python
python实现可以断点续传和并发的ftp程序
Sep 13 Python
Python中扩展包的安装方法详解
Jun 14 Python
Python迭代器与生成器用法实例分析
Jul 09 Python
Python中numpy模块常见用法demo实例小结
Mar 16 Python
pyqt5 实现 下拉菜单 + 打开文件的示例代码
Jun 20 Python
python脚本开机自启的实现方法
Jun 28 Python
Python中常用的高阶函数实例详解
Feb 21 Python
python定义具名元组实例操作
Feb 28 Python
Python中requests库的用法详解
Jun 05 Python
利用Python脚本写端口扫描器socket,python-nmap
Jul 23 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
php实现的简单压缩英文字符串的代码
2008/04/24 PHP
用于判断用户注册时,密码强度的JS代码
2009/01/01 Javascript
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
2009/08/15 Javascript
javascript下对于事件、事件流、事件触发的顺序随便说说
2010/07/17 Javascript
如何确保JavaScript的执行顺序 之实战篇
2011/03/03 Javascript
利用JS实现浏览器的title闪烁
2013/07/08 Javascript
jQuery获得页面元素的绝对/相对位置即绝对X,Y坐标
2014/03/06 Javascript
js全选实现和判断是否有复选框选中的方法
2015/02/17 Javascript
localResizeIMG先压缩后使用ajax无刷新上传(移动端)
2015/08/11 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
js实现一个可以兼容PC端和移动端的div拖动效果实例
2016/12/09 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
JS实现一个简单的日历
2017/02/22 Javascript
JavaScript设计模式之职责链模式应用示例
2018/08/07 Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
2019/03/04 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
vue element-ui读取pdf文件的方法
2019/11/26 Javascript
纯JS实现五子棋游戏
2020/05/28 Javascript
vue相同路由跳转强制刷新该路由组件操作
2020/08/05 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
pygame学习笔记(2):画点的三种方法和动画实例
2015/04/15 Python
Python获取运行目录与当前脚本目录的方法
2015/06/01 Python
Python实现将数据库一键导出为Excel表格的实例
2016/12/30 Python
说说如何遍历Python列表的方法示例
2019/02/11 Python
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
python画图时设置分辨率和画布大小的实现(plt.figure())
2021/01/08 Python
Bootstrap File Input文件上传组件
2020/12/01 HTML / CSS
世界顶级俱乐部的官方球衣和套装:Subside Sports
2018/04/22 全球购物
香港中原电器网上商店:Chung Yuen
2019/06/26 全球购物
医学生实习自我鉴定
2013/09/27 职场文书
自荐信结尾
2013/10/27 职场文书
岗位职责风险点
2014/03/12 职场文书
村干部承诺书
2014/03/28 职场文书
部门2014年度工作总结
2014/11/12 职场文书
升学宴来宾致辞
2015/07/27 职场文书
默认网关不可用修复后过一会又不好使了解决方法
2022/04/08 数码科技