详解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每次处理固定个数的字符的方法总结
Jan 29 Python
实例讲解python函数式编程
Jun 09 Python
Python中的迭代器漫谈
Feb 03 Python
Python编程之序列操作实例详解
Jul 22 Python
python编写Logistic逻辑回归
Dec 30 Python
windows10下python3.5 pip3安装图文教程
Apr 02 Python
Python3实现腾讯云OCR识别
Nov 27 Python
python中的print()输出
Apr 12 Python
教你如何编写、保存与运行Python程序的方法
Jul 12 Python
python中seaborn包常用图形使用详解
Nov 25 Python
Python面向对象封装操作案例详解 II
Jan 02 Python
python学习将数据写入文件并保存方法
Jun 07 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
星际争霸任务指南——虫族
2020/03/04 星际争霸
神盾加密解密教程(三)PHP 神盾解密工具
2014/06/08 PHP
php array_pop 删除数组最后一个元素实例
2016/11/02 PHP
js判断变量是否空值的代码
2008/10/26 Javascript
关于javascript event flow 的一个bug详解
2013/09/17 Javascript
jquery操作对象数组元素方法详解
2014/11/26 Javascript
window.onload与$(document).ready()的区别分析
2015/05/30 Javascript
jQuery焦点图轮播特效代码分享(3款)
2015/09/05 Javascript
boostrapTable的refresh和refreshOptions区别浅析
2017/01/22 Javascript
简易Vue评论框架的实现(父组件的实现)
2018/01/08 Javascript
详解浏览器缓存和webpack缓存配置
2018/07/06 Javascript
vue项目中使用lib-flexible解决移动端适配的问题解决
2018/08/23 Javascript
angularJs中$scope数据序列化的实例
2018/09/30 Javascript
vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component
2019/04/30 Javascript
JS拖动选择table里的单元格完整实例【基于jQuery】
2019/05/28 jQuery
layer ui插件显示tips时,修改字体颜色的实现方法
2019/09/11 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
JavaScript实现省份城市的三级联动
2020/02/11 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
为python设置socket代理的方法
2015/01/14 Python
简化Python的Django框架代码的一些示例
2015/04/20 Python
Python基于socket模块实现UDP通信功能示例
2018/04/10 Python
解决Mac安装scrapy失败的问题
2018/06/13 Python
python爬虫要用到的库总结
2020/07/28 Python
PyCharm最新激活码PyCharm2020.2.3有效
2020/11/18 Python
python 制作网站小说下载器
2021/02/20 Python
澳大利亚墨水站Ink Station:墨水和碳粉打印机墨盒
2019/03/24 全球购物
小学生操行评语大全
2014/04/22 职场文书
行政管理专业求职信
2014/07/06 职场文书
社区护士演讲稿
2014/08/27 职场文书
大学生入党自荐书
2015/03/05 职场文书
暂住证证明
2015/06/19 职场文书
2015年防灾减灾工作总结
2015/07/24 职场文书
2015国庆节感想
2015/08/04 职场文书
高中生综合素质评价范文
2015/08/18 职场文书
Vue3如何理解ref toRef和toRefs的区别
2022/02/18 Vue.js