详解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实用日期时间处理方法汇总
May 09 Python
python实现搜索本地文件信息写入文件的方法
Feb 22 Python
python基于pyDes库实现des加密的方法
Apr 29 Python
Python3.5内置模块之time与datetime模块用法实例分析
Apr 27 Python
使用Flask-Cache缓存实现给Flask提速的方法详解
Jun 11 Python
Python使用__new__()方法为对象分配内存及返回对象的引用示例
Sep 20 Python
python根据时间获取周数代码实例
Sep 30 Python
K最近邻算法(KNN)---sklearn+python实现方式
Feb 24 Python
windows python3安装Jupyter Notebooks教程
Apr 13 Python
java字符串格式化输出实例讲解
Jan 06 Python
Opencv+Python识别PCB板图片的步骤
Jan 07 Python
python openpyxl模块的使用详解
Feb 25 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
php字符串截取函数用法分析
2014/11/25 PHP
PHP正则表达式函数preg_replace用法实例分析
2020/06/04 PHP
动态加载js文件 document.createElement
2006/10/14 Javascript
jquery下json数组的操作实现代码
2010/08/09 Javascript
js随机颜色代码的多种实现方式
2013/04/23 Javascript
struts2+jquery+json实现异步加载数据(自写)
2013/06/24 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
理解Javascript的call、apply
2015/12/16 Javascript
js实现获取两个日期之间所有日期的方法
2016/06/17 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
原生js实现焦点轮播图效果
2017/01/12 Javascript
bootstrap配合Masonry插件实现瀑布式布局
2017/01/18 Javascript
zTree树形插件异步加载方法详解
2017/06/14 Javascript
Mobile Web开发基础之四--处理手机设备的横竖屏问题
2017/08/11 Javascript
JS实现获取word文档内容并输出显示到html页面示例
2018/06/23 Javascript
微信小程序实现循环动画效果
2018/07/16 Javascript
详解vue-cli中使用rem,vue自适应
2019/05/06 Javascript
bootstrap table实现横向合并与纵向合并
2019/07/18 Javascript
Pycharm插件(Grep Console)自定义规则输出颜色日志的方法
2020/05/27 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
python regex库实例用法总结
2021/01/03 Python
纯CSS3实现Material Design效果
2017/03/09 HTML / CSS
一款利用纯css3实现的超炫3D表单的实例教程
2014/12/01 HTML / CSS
NIHAOMARKET官方海外旗舰店:意大利你好华人超市
2018/01/27 全球购物
利用异或运算实现两个无符号数的加法运算
2013/12/20 面试题
会计系个人求职信范文分享
2013/12/20 职场文书
电气工程及其自动化专业求职信
2014/06/23 职场文书
共青团员自我评价范文
2014/09/14 职场文书
初中生300字旷课检讨书
2014/11/19 职场文书
幼儿教师师德师风自我评价
2015/03/05 职场文书
实习护士自荐信
2015/03/25 职场文书
小学大队长竞选稿
2015/11/20 职场文书
高效课堂教学反思
2016/02/24 职场文书
详解RedisTemplate下Redis分布式锁引发的系列问题
2021/04/27 Redis
正则表达式拆分url实例代码
2022/02/24 Java/Android
Moment的feature导致线上bug解决分析
2022/09/23 Javascript