python中的json模块,,json模块JSON


json模块

JSON就是JavaScript Object Notation,这个模块完成了python对象和JSON字符串的互相转换! json是一种很多语言支持的通用语言



作用:如下,作为一个桥梁 在api接口中数据调用传输中常用

php数据类型 <----> json格式 <---> python

java数据类型 <----> json格式 <----> python

Mysql Text类型 <----> json格式 <----> python


json和python 字符类型的对比

|+-------------------+---------------+||Python|JSON||+===================+===============+||dict|object||+-------------------+---------------+||list,tuple|array||+-------------------+---------------+||str,unicode|string||+-------------------+---------------+||int,long,float|number||+-------------------+---------------+||True|true||+-------------------+---------------+||False|false||+-------------------+---------------+||None|null||+-------------------+---------------+



用途场景1:

技术分享



一 、dumps函数

案例一: (案例只为演示效果)

cuizhiliangdeMacBook-Air:test cuizhiliang$ cat 1.py

#!/usr/bin/envpython#encoding=utf8importjsond={‘name‘:"张三",‘age‘:24,‘有病‘:False}printjson.dumps(d)


结果:

cuizhiliangdeMacBook-Air:testcuizhiliang$python1.py{"age":24,"\u6709\u75c5":false,"name":"\u5f20\u4e09"}



案例二: 参数的效果:

#!/usr/bin/envpython#encoding=utf8importjsond={‘name‘:"张三",‘age‘:24,‘有病‘:False}printjson.dumps(d,ensure_ascii=False,indent=4,sort_keys=True)


结果:

{"age":24,"有病":false,"name":"张三"}



常用参数:

ensure_ascii 默认是True,字符编码格式

sort_keys 是否对齐

indent=4 缩进问题




二、dump 和load函数,常用在文件流读中的用途场景1 用途,就像pickle这个模块的功能一样


json dump函数 将数据已sjon格式写入文件流中

cuizhiliangdeMacBook-Air:test cuizhiliang$ cat test_json_dump.py

#!/usr/bin/envpython#encoding=utf8importjsonf=file(‘file.json‘,‘w‘)d={‘name‘:"张三",‘age‘:24,‘有病‘:False}json.dump(d,f,ensure_ascii=False,indent=4,sort_keys=True)


cuizhiliangdeMacBook-Air:test cuizhiliang$ python test_json_dump.py

存入文本结果:

cuizhiliangdeMacBook-Air:test cuizhiliang$ cat file.json

{

"age": 24,

"name": "张三",

"有病": false

}



区别json dumps 实现,dumps当然不是处理文件流的咯,要通过文件的write功能写入文件中

等价于:

cuizhiliangdeMacBook-Air:test cuizhiliang$ cat test_json_dumps.py

#!/usr/bin/envpython#encoding=utf8importjsonf=file(‘file.json‘,‘w‘)d={‘name‘:"张三",‘age‘:24,‘有病‘:False}f.write(json.dumps(d,ensure_ascii=False,indent=4,sort_keys=True))






json load 从文件流中读取json数据

cuizhiliangdeMacBook-Air:test cuizhiliang$ cat test_json_load.py

#!/usr/bin/envpython#encoding:utf-8importjsonf=open(‘file.json‘,‘r‘)d=json.load(f)printtype(d)printd


cuizhiliangdeMacBook-Air:test cuizhiliang$

cuizhiliangdeMacBook-Air:test cuizhiliang$ python test_json_load.py

<type‘dict‘>{u‘age‘:24,u‘\u6709\u75c5‘:False,u‘name‘:u‘\u5f20\u4e09‘}





本文出自 “崔德华运维打工从业路” 博客,请务必保留此出处http://cuidehua.blog.51cto.com/5449828/1767061

python中的json模块

相关内容

    暂无相关文章

评论关闭