详解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搭建微信公众平台
Feb 09 Python
Python与Java间Socket通信实例代码
Mar 06 Python
Python使用pyh生成HTML文档的方法示例
Mar 10 Python
解决tensorflow模型参数保存和加载的问题
Jul 26 Python
python 简单照相机调用系统摄像头实现方法 pygame
Aug 03 Python
不知道这5种下划线的含义,你就不算真的会Python!
Oct 09 Python
对python中Json与object转化的方法详解
Dec 31 Python
python利用Tesseract识别验证码的方法示例
Jan 21 Python
Python3实现汉语转换为汉语拼音
Jul 08 Python
Python爬虫使用代理IP的实现
Oct 27 Python
基于python实现微信好友数据分析(简单)
Feb 16 Python
在pycharm中创建django项目的示例代码
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
PHP中Date获取时间不正确怎么办
2008/06/05 PHP
PHP常量使用的几个需要注意的地方(谨慎使用PHP中的常量)
2014/09/12 PHP
PHP实现C#山寨ArrayList的方法
2015/07/16 PHP
深入讲解PHP Session及如何保持其不过期的方法
2015/08/18 PHP
PHP 年月日的三级联动实例代码
2017/05/24 PHP
javascript 实现字符串反转的三种方法
2013/11/23 Javascript
JQuery使用$.ajax和checkbox实现下次不在通知功能
2015/04/16 Javascript
浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
2016/03/22 Javascript
JavaScript实现Java中Map容器的方法
2016/10/09 Javascript
Angular在一个页面中使用两个ng-app的方法
2017/02/20 Javascript
Node.js使用Koa搭建 基础项目
2018/01/08 Javascript
Vue2.0 实现歌手列表滚动及右侧快速入口功能
2018/08/08 Javascript
微信小程序实现随机验证码功能
2018/12/20 Javascript
vue表单中遍历表单操作按钮的显示隐藏示例
2019/10/30 Javascript
JS实现手风琴特效
2020/11/08 Javascript
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
Python线程中对join方法的运用的教程
2015/04/09 Python
Python使用numpy实现BP神经网络
2018/03/10 Python
Python3列表内置方法大全及示例代码小结
2019/05/10 Python
详解一种用django_cache实现分布式锁的方式
2019/09/01 Python
FFT快速傅里叶变换的python实现过程解析
2019/10/21 Python
python实现简单日志记录库glog的使用
2019/12/13 Python
Python使用psutil获取进程信息的例子
2019/12/17 Python
jupyter notebook读取/导出文件/图片实例
2020/04/16 Python
python绕过图片滑动验证码实现爬取PTA所有题目功能 附源码
2021/01/06 Python
CSS3之2D与3D变换的实现方法
2019/01/28 HTML / CSS
HTML5 3D旋转相册的实现示例
2019/12/03 HTML / CSS
Swisse官方海外旗舰店:澳大利亚销量领先,自然健康品牌
2017/12/15 全球购物
马来西亚在线健康商店:Medipal Malaysia
2020/04/13 全球购物
纪律教育学习月活动总结
2014/08/27 职场文书
给病人的慰问信
2015/03/23 职场文书
城镇居民医疗保险工作总结
2015/08/10 职场文书
2019班干部竞选演讲稿范本!
2019/07/08 职场文书
Python超简单容易上手的画图工具库推荐
2021/05/10 Python
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers
避坑之 JavaScript 中的toFixed()和正则表达式
2022/04/19 Javascript