详解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 获取本机ip地址的两个方法
Feb 25 Python
利用Python中的输入和输出功能进行读取和写入的教程
Apr 14 Python
Python Tkinter实现简易计算器功能
Jan 30 Python
python+selenium实现自动抢票功能实例代码
Nov 23 Python
基于 Django 的手机管理系统实现过程详解
Aug 16 Python
在pycharm中配置Anaconda以及pip源配置详解
Sep 09 Python
在脚本中单独使用django的ORM模型详解
Apr 01 Python
python自定义函数def的应用详解
Jun 03 Python
Python Scrapy多页数据爬取实现过程解析
Jun 12 Python
Django Session和Cookie分别实现记住用户登录状态操作
Jul 02 Python
Python django框架 web端视频加密的实例详解
Nov 20 Python
解决tensorflow模型压缩的问题_踩坑无数,总算搞定
Mar 02 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验证码代码
2012/02/27 PHP
PHP的Yii框架的常用日志操作总结
2015/12/08 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
TBCompressor js代码压缩
2011/01/05 Javascript
javascript引用赋值(地址传值)用法实例
2015/01/13 Javascript
Three.js快速入门教程
2016/09/09 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
使用 NodeJS+Express 开发服务端的简单介绍
2017/04/07 NodeJs
jQuery ajax调用webservice注意事项
2017/10/08 jQuery
react router4+redux实现路由权限控制的方法
2018/05/03 Javascript
Cocos2d实现刮刮卡效果
2018/12/20 Javascript
Node.js fs模块(文件模块)创建、删除目录(文件)读取写入文件流的方法
2019/09/03 Javascript
Node.js使用MongoDB的ObjectId作为查询条件的方法
2019/09/10 Javascript
vue-列表下详情的展开与折叠案例
2020/07/28 Javascript
解决antd的Form组件setFieldsValue的警告问题
2020/10/29 Javascript
[53:10]Secret vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
跟老齐学Python之用Python计算
2014/09/12 Python
python求解水仙花数的方法
2015/05/11 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
TensorFlow中权重的随机初始化的方法
2018/02/11 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
Python多项式回归的实现方法
2019/03/11 Python
对python中的装包与解包实例详解
2019/08/24 Python
python 两个一样的字符串用==结果为false问题的解决
2020/03/12 Python
Python多线程通信queue队列用法实例分析
2020/03/24 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
UNIX文件系统分类
2014/11/11 面试题
最新大学生自我评价
2013/09/24 职场文书
企业家王石演讲稿:坚持与放下
2014/04/27 职场文书
房地产活动策划方案
2014/05/14 职场文书
法学专业求职信
2014/07/15 职场文书
个人党性锻炼总结
2015/03/05 职场文书
《秋天的怀念》教学反思
2016/02/17 职场文书
2016年优秀团支部事迹材料
2016/02/26 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server
微信告警的zabbix监控系统 监控整个NGINX集群
2022/04/18 Servers