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批量下载图片的三种方法
Apr 22 Python
Python开发如何在ubuntu 15.10 上配置vim
Jan 25 Python
python3操作mysql数据库的方法
Jun 23 Python
Python 比较两个数组的元素的异同方法
Aug 17 Python
matplotlib绘制动画代码示例
Jan 02 Python
CentOS7.3编译安装Python3.6.2的方法
Jan 22 Python
Django 通过JS实现ajax过程详解
Jul 30 Python
Python 生成VOC格式的标签实例
Mar 10 Python
TensorFlow2.1.0最新版本安装详细教程
Apr 08 Python
PyTorch的torch.cat用法
Jun 28 Python
20行Python代码实现一款永久免费PDF编辑工具的实现
Aug 27 Python
用Python爬取各大高校并可视化帮弟弟选大学,弟弟直呼牛X
Jun 11 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
星际实力自我测试
2020/03/04 星际争霸
php下删除字符串中HTML标签的函数
2008/08/27 PHP
学习discuz php 引入文件的方法DISCUZ_ROOT
2009/06/21 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
2019/12/01 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
Laravel框架源码解析之入口文件原理分析
2020/05/14 PHP
Mootools 1.2教程 Tooltips
2009/09/15 Javascript
Tips 带三角可关闭的文字提示
2010/10/06 Javascript
JavaScript中window、doucment、body的解释
2013/08/14 Javascript
jQuery实现公告文字左右滚动的实例代码
2013/10/29 Javascript
深入理解javascript严格模式(Strict Mode)
2014/11/28 Javascript
jquery轮播的实现方式 附完整实例
2016/07/28 Javascript
Node.js编写CLI的实例详解
2017/05/17 Javascript
Require.JS中的几种define定义方式示例
2017/06/01 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
详解webpack 入门与解析
2018/04/09 Javascript
原生JS实现轮播图效果
2018/10/12 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
2018/10/31 Javascript
详解vue路由篇(动态路由、路由嵌套)
2019/01/27 Javascript
vue设置动态请求地址的例子
2019/11/01 Javascript
浏览器JavaScript调试功能无法使用解决方案
2020/09/18 Javascript
python字符串对其居中显示的方法
2015/07/11 Python
Python简单获取自身外网IP的方法
2016/09/18 Python
单利模式及python实现方式详解
2018/03/20 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
python3 unicode列表转换为中文的实例
2018/10/26 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
阿根廷票务网站:StubHub阿根廷
2018/04/13 全球购物
干部行政关系介绍信
2014/01/17 职场文书
《找不到快乐的波斯猫》教学反思
2014/02/24 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
捐献物资倡议书范文
2014/05/19 职场文书
推普周活动总结
2014/08/28 职场文书
纪检干部学习心得体会
2016/01/23 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书