详解python 3.6 安装json 模块(simplejson)


Posted in Python onApril 02, 2019

JSON 相关概念:

序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON,XML等。反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态,重新创建该对象。

JSON(Java Script Object Notation):一种轻量级数据交互格式,相对于XML而言更简单,也易于阅读和编写,机器也方便解析和生成,Json是JavaScript中的一个子集。

python2.6版本开始加入了JSON模块,python的json模块序列化与反序列化的过程分别是encoding和decoding。

  1. encoding:把一个python对象编码转换成Json字符串。
  2. decoding:把json格式字符串编码转换成python对象。

具体应用:

json提供四个功能:dumps, dump, loads, load

dumps功能 :将数据通过特殊的形式转换为所有程序语言都认识的字符串

>>> import simplejson
>>> data =['aa','bb','cc']
>>> j_str = simplejsondumps(data)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
NameError: name 'simplejsondumps' is not defined
>>> j_str = simplejson.dumps(data)
>>> j_str
'["aa", "bb", "cc"]'

loads功能 : 将json编码的字符串再转换为python的数据结构

>>> mes = simplejson.load(j_str)
Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 File "D:\Program Files\python\lib\site-packages\simplejson\__init__.py", line 455, in load
  return loads(fp.read(),
AttributeError: 'str' object has no attribute 'read'
>>> mes = simplejson.loads(j_str)
>>> mes
['aa', 'bb', 'cc']
# dump功能
# 将数据通过特殊的形式转换为所有程序语言都认识的字符串,并写入文件
with open('D:/tmp.json', 'w') as f:
  simplejson.dump(data, f)
# load功能
 # 从数据文件中读取数据,并将json编码的字符串转换为python的数据结构
 with open('D:/tmp.json', 'r') as f:
   data = simplejson.load(f)

json编码支持的基本类型有:None, bool, int, float, string, list, tuple, dict.

对于字典,json会假设key是字符串(字典中的任何非字符串key都会在编码时转换为字符串),要符合JSON规范,应该只对python列表和字典进行编码。此外,在WEB应用中,把最顶层对象定义为字典是一种标准做法。

json编码的格式几乎和python语法一致,略有不同的是:True会被映射为true,False会被映射为false,None会被映射为null,元组()会被映射为列表[],因为其他语言没有元组的概念,只有数组,也就是列表。

>>> import simplejson
 >>> data = {'a':True, 'b':False, 'c':None, 'd':(1,2), 1:'abc'}
 >>> j_str = simplejson.dumps(data)
 >>> j_str
 '{"a": true, "c": null, "d": [1, 2], "b": false, "1": "abc"}'

Simpeljson 模块安装

开发环境:windows10、Python3.5、DJango1.11.1

第一步:首先,下载对应simplejson的 .whl文件,下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#simplejson

第二步:打开cmd,进入到Python安装目录的Scripts文件夹中.比如:D:\Program Files\Python\Scripts。使用pip安装刚刚下载好的whl文件,pip.exe install *.whl,例如:

D:\Program Files\python\Scripts>pip.exe install D:\python\simplejson-3.10.0-cp36-cp36m-win_amd64.whl
Processing d:\python\simplejson-3.10.0-cp36-cp36m-win_amd64.whl
Installing collected packages: simplejson
Successfully installed simplejson-3.10.0

提示安装成功后,在\Python\Lib\site-packages目录下可以看到simplejson.

以上所述是小编给大家介绍的python 3.6 安装json 模块(simplejson)详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
python对DICOM图像的读取方法详解
Jul 17 Python
浅谈Python2获取中文文件名的编码问题
Jan 09 Python
Python实现对一个函数应用多个装饰器的方法示例
Feb 09 Python
详解Python判定IP地址合法性的三种方法
Mar 06 Python
详解Python中如何写控制台进度条的整理
Mar 07 Python
tensorflow实现KNN识别MNIST
Mar 12 Python
python使用openpyxl库修改excel表格数据方法
May 03 Python
Python基于递归和非递归算法求两个数最大公约数、最小公倍数示例
May 21 Python
解读python如何实现决策树算法
Oct 11 Python
Python 等分切分数据及规则命名的实例代码
Aug 16 Python
python getpass模块用法及实例详解
Oct 07 Python
python使用openpyxl操作excel的方法步骤
May 28 Python
Pyinstaller打包.py生成.exe的方法和报错总结
Apr 02 #Python
Python3字符串encode与decode的讲解
Apr 02 #Python
深入了解和应用Python 装饰器 @decorator
Apr 02 #Python
python使用Plotly绘图工具绘制散点图、线形图
Apr 02 #Python
浅谈python的输入输出,注释,基本数据类型
Apr 02 #Python
windows下numpy下载与安装图文教程
Apr 02 #Python
python环境路径配置以及命令行运行脚本
Apr 02 #Python
You might like
Windows中使用计划任务自动执行PHP程序实例
2014/05/09 PHP
PHP速成大法
2015/01/30 PHP
thinkphp多层MVC用法分析
2015/12/30 PHP
修改Laravel5.3中的路由文件与路径
2016/08/10 PHP
微信推送功能实现方式图文详解
2019/07/12 PHP
Mozilla中显示textarea中选择的文字
2006/09/07 Javascript
Dojo之路:如何利用Dojo实现Drag and Drop效果
2007/04/10 Javascript
javascript的键盘控制事件说明
2008/04/15 Javascript
jQuery 技巧小结
2010/04/02 Javascript
JavaScript中的值是按值传递还是按引用传递问题探讨
2015/01/30 Javascript
jQuery使用fadein方法实现渐出效果实例
2015/03/27 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
2018/09/14 Javascript
vue实现将数据存入vuex中以及从vuex中取出数据
2019/11/08 Javascript
JS localStorage存储对象,sessionStorage存储数组对象操作示例
2020/02/15 Javascript
[01:45]2014DOTA2 TI预选赛预选赛 大神专访第二弹!
2014/05/20 DOTA
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
举例讲解Linux系统下Python调用系统Shell的方法
2015/11/07 Python
Django之模型层多表操作的实现
2019/01/08 Python
Python面向对象程序设计类变量与成员变量、类方法与成员方法用法分析
2019/04/12 Python
python中对_init_的理解及实例解析
2019/10/11 Python
Pytorch 数据加载与数据预处理方式
2019/12/31 Python
python日期与时间戳的各种转换示例
2020/02/12 Python
用 python 进行微信好友信息分析
2020/11/28 Python
使用python爬取抖音app视频的实例代码
2020/12/01 Python
丽笙酒店官方网站:Radisson Hotels
2019/05/07 全球购物
What is EJB
2016/07/22 面试题
司机检讨书
2014/02/13 职场文书
投标承诺书范本
2014/03/27 职场文书
专科生就业求职信
2014/06/22 职场文书
社区爱国卫生月活动总结
2014/06/30 职场文书
婚礼女方父母答谢词
2015/01/04 职场文书
vue+spring boot实现校验码功能
2021/05/27 Vue.js
Redis 中使用 list,streams,pub/sub 几种方式实现消息队列的问题
2022/03/16 Redis
光之国的四大叛徒:第一贝利亚导致宇宙毁灭,赛文奥特曼在榜
2022/03/18 日漫
星际争霸:毕姥爷vs解冻01
2022/04/01 星际争霸
Vue+TypeScript中处理computed方式
2022/04/02 Vue.js