python中的json模块,,json模块JSON
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模块
相关内容
- 暂无相关文章
评论关闭