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下rrdtool模块的基本使用方法
Nov 13 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
Jun 20 Python
Python2实现的LED大数字显示效果示例
Sep 04 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
Dec 09 Python
Python简单生成随机姓名的方法示例
Dec 27 Python
python 3.6.4 安装配置方法图文教程
Sep 18 Python
python根据文章标题内容自动生成摘要的实例
Feb 21 Python
Python 自由定制表格的实现示例
Mar 20 Python
如何把外网python虚拟环境迁移到内网
May 18 Python
Python实现播放和录制声音的功能
Aug 12 Python
Python发送邮件实现基础解析
Aug 14 Python
python实现人性化显示金额数字实例详解
Sep 25 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
smtp邮件发送一例
2006/10/09 PHP
Smarty foreach控制循环次数的一些方法
2015/07/01 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
2015/12/19 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
2019/10/23 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
基于JQuery的简单实现折叠菜单代码
2010/09/15 Javascript
基于MooTools的很有创意的滚动条时钟动画
2010/11/14 Javascript
Jquery时间验证和转换工具小例子
2013/07/01 Javascript
js控制table合并具体实现
2014/02/20 Javascript
jquery实现submit提交表单
2015/02/03 Javascript
javascript超过容器后显示省略号效果的方法(兼容一行或者多行)
2016/07/14 Javascript
教你JS中的运算符乘方、开方及变量格式转换
2016/08/09 Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
2017/03/27 Javascript
javascript过滤数组重复元素的实现方法
2017/05/03 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
详解使用WebPack搭建React开发环境
2019/08/06 Javascript
Vue使用Clipboard.JS在h5页面中复制内容实例详解
2019/09/03 Javascript
JavaScript实现横版菜单栏
2020/03/17 Javascript
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
jQuery实现购物车全功能
2021/01/11 jQuery
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
[37:03]完美世界DOTA2联赛PWL S3 INK ICE vs GXR 第二场 12.16
2020/12/18 DOTA
Python下的Softmax回归函数的实现方法(推荐)
2017/01/26 Python
5分钟快速掌握Python定时任务框架的实现
2021/01/26 Python
jupyter 添加不同内核的操作
2021/02/06 Python
HTML5 video标签(播放器)学习笔记(二):播放控制
2015/04/24 HTML / CSS
中国高端鲜花第一品牌:roseonly(一生只送一人)
2017/02/12 全球购物
法国一家多品牌成衣精品中/高档商店:Graduate Store
2019/08/28 全球购物
警察思想汇报
2014/01/04 职场文书
会议邀请函范文
2014/01/09 职场文书
员工教育培训协议书
2014/09/27 职场文书
2014年督导工作总结
2014/11/19 职场文书
2014年勤工助学工作总结
2014/11/24 职场文书
国家助学金感谢信
2015/01/21 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
制作能在nginx和IIS中使用的ssl证书
2021/06/21 Servers