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 (1)
Oct 31 Python
python用reduce和map把字符串转为数字的方法
Dec 19 Python
Python3安装Pymongo详细步骤
May 26 Python
python中将字典形式的数据循环插入Excel
Jan 16 Python
python实现顺时针打印矩阵
Mar 02 Python
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
Mar 05 Python
python定时复制远程文件夹中所有文件
Apr 30 Python
如何用Python做一个微信机器人自动拉群
Jul 03 Python
浅谈django 模型类使用save()方法的好处与注意事项
Mar 28 Python
python能做哪方面的工作
Jun 15 Python
python单元测试之pytest的使用
Jun 07 Python
使用scrapy实现增量式爬取方式
Jun 21 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与ASP
2006/10/09 PHP
PHP4实际应用经验篇(6)
2006/10/09 PHP
php长字符串定义方法
2012/07/12 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
2014/06/30 PHP
php中限制ip段访问、禁止ip提交表单的代码分享
2014/08/22 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
php中类和对象:静态属性、静态方法
2017/04/09 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
2018/07/17 PHP
jscript之List Excel Color Values
2007/06/13 Javascript
JS面向对象编程 for Cookie
2010/09/19 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
2013/09/15 Javascript
jQuery实现鼠标经过图片预览大图效果
2014/04/10 Javascript
javascript使用switch case实现动态改变超级链接文字及地址
2014/12/16 Javascript
JS扩展方法实例分析
2015/04/15 Javascript
jQuery的remove()方法使用详解
2015/08/11 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
JS实现用特殊符号替换字符串的中间部分区域的实例代码
2018/07/24 Javascript
vue中slot(插槽)的介绍与使用
2018/11/12 Javascript
angular使用md5,CryptoJS des加密的方法
2019/06/03 Javascript
跟老齐学Python之用while来循环
2014/10/02 Python
unittest+coverage单元测试代码覆盖操作实例详解
2018/04/04 Python
python复制文件到指定目录的实例
2018/04/27 Python
PyQt5重写QComboBox的鼠标点击事件方法
2019/06/25 Python
Python3进制之间的转换代码实例
2019/08/24 Python
matplotlib实现显示伪彩色图像及色度条
2019/12/07 Python
python FTP批量下载/删除/上传实例
2019/12/22 Python
Python不支持 i ++ 语法的原因解析
2020/07/22 Python
用CSS禁用输入法(CSS3 UI规范)实例解析
2012/12/04 HTML / CSS
中国高端家电购物商城:顺电
2018/03/04 全球购物
班队活动设计方案
2014/01/30 职场文书
生物制药专业求职信
2014/03/11 职场文书
综合内勤岗位职责
2014/04/14 职场文书
董存瑞观后感
2015/06/11 职场文书
导游词之永泰公主墓
2019/12/04 职场文书
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers