欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

详解python 3.6 安装json 模块(simplejson)

程序员文章站 2023-11-07 10:04:46
json 相关概念: 序列化(serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是json,xml等。反序列化就是从存储...

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文件,下载地址:

第二步:打开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)详解整合,希望对大家有所帮助