详解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字典几种方法总结(推荐)
Sep 11 Python
python+VTK环境搭建及第一个简单程序代码
Dec 13 Python
轻松实现TensorFlow微信跳一跳的AI
Jan 05 Python
神经网络(BP)算法Python实现及应用
Apr 16 Python
使用python快速在局域网内搭建http传输文件服务的方法
Nov 14 Python
Cython编译python为so 代码加密示例
Dec 23 Python
Python bytes string相互转换过程解析
Mar 05 Python
Python+OpenCV图像处理——实现轮廓发现
Oct 23 Python
pytorch 移动端部署之helloworld的使用
Oct 30 Python
python全栈开发语法总结
Nov 22 Python
Python爬虫后获取重定向url的两种方法
Jan 19 Python
如何利用pygame实现打飞机小游戏
May 30 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 源代码压缩小工具
2009/12/22 PHP
PHP计划任务、定时执行任务的实现代码
2011/04/23 PHP
php单态设计模式(单例模式)实例
2014/11/18 PHP
php 可变函数使用小结
2018/06/12 PHP
Laravel5.5 实现后台管理登录的方法(自定义用户表登录)
2019/09/30 PHP
Javascript String.replace的妙用
2009/09/08 Javascript
Javascript和Ajax中文乱码吐血版解决方案
2009/12/21 Javascript
理解JavaScript中的对象 推荐
2011/01/09 Javascript
jquery中选择块并改变属性值的方法
2013/07/31 Javascript
浏览器的JavaScript引擎的识别方法
2013/10/20 Javascript
跟我学习javascript的垃圾回收机制与内存管理
2015/11/23 Javascript
jQuery的ajax下载blob文件
2016/07/21 Javascript
BootStrap实现手机端轮播图左右滑动事件
2016/10/13 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
js实现tab切换效果
2017/02/16 Javascript
Bootstrap 3 按钮标签实例代码
2017/02/21 Javascript
vue2.0 axios前后端数据处理实例代码
2017/06/30 Javascript
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
JS简单实现动态添加HTML标记的方法示例
2018/04/08 Javascript
小程序实现左滑删除功能
2018/10/30 Javascript
BootStrap table实现表格行拖拽效果
2018/12/01 Javascript
JS工厂模式开发实践案例分析
2019/10/17 Javascript
使用vue cli4.x搭建vue项目的过程详解
2020/05/08 Javascript
Python实现多进程共享数据的方法分析
2017/12/04 Python
Python中使用双下划线防止类属性被覆盖问题
2019/06/27 Python
python修改文件内容的3种方法详解
2019/11/15 Python
简单了解python元组tuple相关原理
2019/12/02 Python
Python如何将模块打包并发布
2020/08/30 Python
当当网软件测试笔试题
2015/11/24 面试题
好的自荐信包括什么内容
2013/11/07 职场文书
大学生的创业计划书就该这么写
2014/01/30 职场文书
精通CAD能手自荐书
2014/01/31 职场文书
竞聘演讲稿精彩开头和结尾
2014/05/14 职场文书
2014年个人思想工作总结
2014/11/27 职场文书
python 爬取天气网卫星图片
2021/06/07 Python
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电