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之有容乃大的list(2)
Sep 15 Python
Python json模块使用实例
Apr 11 Python
python生成随机密码或随机字符串的方法
Jul 03 Python
利用Python实现网络测试的脚本分享
May 26 Python
spyder常用快捷键(分享)
Jul 19 Python
Python实现修改IE注册表功能示例
May 10 Python
python实现录音小程序
Oct 26 Python
python+Splinter实现12306抢票功能
Sep 25 Python
对numpy中二进制格式的数据存储与读取方法详解
Nov 01 Python
python selenium firefox使用详解
Feb 26 Python
python3.7 sys模块的具体使用
Jul 22 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
Aug 09 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 for 循环语句使用方法详细说明
2010/05/09 PHP
php URL验证正则表达式
2011/07/19 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
2014/02/13 PHP
编写PHP脚本使WordPress的主题支持Widget侧边栏
2015/12/14 PHP
Yii框架组件和事件行为管理详解
2016/05/20 PHP
基于Swoole实现PHP与websocket聊天室
2016/08/03 PHP
php array_walk 对数组中的每个元素应用用户自定义函数详解
2016/11/18 PHP
ASP 过滤数组重复数据函数(加强版)
2010/05/31 Javascript
Node.js实战 建立简单的Web服务器
2012/03/08 Javascript
js时间比较示例分享(日期比较)
2014/03/05 Javascript
jquery设置按钮停顿3秒不可用
2014/03/07 Javascript
深入理解javascript中的立即执行函数(function(){…})()
2014/06/12 Javascript
JavaScript缓冲运动实现方法(2则示例)
2016/01/08 Javascript
Node.js开启Https的实践详解
2016/10/25 Javascript
详解使用create-react-app快速构建React开发环境
2018/05/16 Javascript
vue实现动态列表点击各行换色的方法
2018/09/13 Javascript
微信小程序bindtap事件与冒泡阻止详解
2019/08/08 Javascript
针对Vue路由history模式下Nginx后台配置操作
2020/10/22 Javascript
Python找出9个连续的空闲端口
2016/02/01 Python
pandas实现选取特定索引的行
2018/04/20 Python
python excel转换csv代码实例
2019/08/26 Python
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
2020/02/18 Python
Python Scrapy框架:通用爬虫之CrawlSpider用法简单示例
2020/04/11 Python
MADE法国:提供原创设计师家具
2018/09/18 全球购物
介绍一下EJB的体系结构
2012/08/01 面试题
企业办公室岗位职责
2014/03/12 职场文书
市场营销专业毕业生求职信
2014/07/21 职场文书
党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
工程承包协议书范本
2014/09/29 职场文书
生日答谢词
2015/01/05 职场文书
自我检讨书怎么写
2015/05/07 职场文书
故意伤害辩护词
2015/05/21 职场文书
余世维讲座观后感
2015/06/11 职场文书
祝福语集锦:给百岁老人祝寿贺词
2019/11/19 职场文书
Python实现批量自动整理文件
2022/03/16 Python
Golang Elasticsearches 批量修改查询及发送MQ
2022/04/19 Golang