详解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 10 Python
python类型强制转换long to int的代码
Feb 10 Python
用Python实现一个简单的多线程TCP服务器的教程
May 05 Python
python创建临时文件夹的方法
Jul 06 Python
Python贪心算法实例小结
Apr 22 Python
使用Selenium破解新浪微博的四宫格验证码
Oct 19 Python
Python中最大递归深度值的探讨
Mar 05 Python
python opencv 图像拼接的实现方法
Jun 27 Python
python障碍式期权定价公式
Jul 19 Python
Keras框架中的epoch、bacth、batch size、iteration使用介绍
Jun 10 Python
Python socket服务常用操作代码实例
Jun 22 Python
python+flask编写一个简单的登录接口
Nov 13 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对象的串行化与反串行化
2016/01/24 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
Laravel中批量赋值Mass-Assignment的真正含义详解
2017/09/29 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
常见的5个PHP编码小陋习以及优化实例讲解
2021/02/27 PHP
javascript中万恶的function实例分析
2011/05/25 Javascript
基于jquery的不规则矩形的排列实现代码
2012/04/16 Javascript
jQuery的attr与prop使用介绍
2013/10/10 Javascript
JavaScript显示当然日期和时间即年月日星期和时间
2013/10/29 Javascript
js中switch case循环实例代码
2013/12/30 Javascript
Vue项目使用CDN优化首屏加载问题
2018/04/01 Javascript
Node.js Express安装与使用教程
2018/05/11 Javascript
微信小程序实现发红包功能
2018/07/11 Javascript
微信小程序实现留言板功能
2018/11/02 Javascript
详解React 服务端渲染方案完美的解决方案
2018/12/14 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
Node Express用法详解【安装、使用、路由、中间件、模板引擎等】
2020/05/13 Javascript
详解node.js 事件循环
2020/07/22 Javascript
微信小程序实现底部弹出模态框
2020/11/18 Javascript
基于Vue2实现移动端图片上传、压缩、拖拽排序、拖拽删除功能
2021/01/05 Vue.js
JavaScript WeakMap使用详解
2021/02/05 Javascript
Python Mysql自动备份脚本
2008/07/14 Python
Python中实现从目录中过滤出指定文件类型的文件
2015/02/02 Python
Python生成随机密码的方法
2017/06/16 Python
教你使用python实现微信每天给女朋友说晚安
2018/03/23 Python
PyQt5实现拖放功能
2018/04/25 Python
Python列表元素常见操作简单示例
2019/10/25 Python
DataFrame.to_excel多次写入不同Sheet的实例
2019/12/02 Python
python 一维二维插值实例
2020/04/22 Python
python如何支持并发方法详解
2020/07/25 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
CSS3 Calc实现滚动条出现页面不跳动问题
2017/09/14 HTML / CSS
越南综合购物网站:Lazada越南
2019/06/10 全球购物
毕业生个人求职自荐信
2014/02/26 职场文书
2016年过年放假安排通知
2015/08/18 职场文书
python单向链表实例详解
2022/05/25 Python