栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python中对json文件的读写

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python中对json文件的读写

**

在web应用当中常用json(javascript object notation)格式传输数据,比如这个URL。here,打开以后,我们用谷歌一个插件jsonview,就能清楚的看见返回的json格式的。

**
那么在python当中如何读写json文件呢?
我们可以使用标准库当中的json模块,其中的loads,dumps函数可以完成对json数据的读写。

import json
json. #返回所有旗下的函数
json.JSonDecoder json.decoder json.dumps json.load json.scanner 
json.JSonEncoder json.dump json.encoder json.loads # 这里我们主要用的就是 json.loads和json.dumps以及json.load和json.dump

先看json.dumps 这个函数,它可以将一个python对象转化成json的字符串。

l = [1,2,'abc',{'name':'zhangsan','age':'99'}]  #把这样一个python对象转化成json字符串
json.dumps(l)
=>'[1,2,"abc",{"age":"99","name":"zhangsan"}]'   #可以看到经过这样一个转化,原本的数据还是发生了变化。
d = {'b':None,'a':5,'c':'zxc'}
json.dumps(d)
=> '{"a":"5","c":"zxc","b":"null"}' # 可以看到其他的都没变,只不过这个None变成null

这个dumps函数还有别的参数

json.dumps(l,separators=[', ',': '])  #后面的参数是它默认的参数,一个逗号空格和冒号空格

除此之外它还有一个参数用于排序。

json.dumps(d,sort_keys=True)  #默认是False
=> '{"a":"5","b":"null","c":"zxc",}'

上面是将python对象转化成json字符串,那么反过来如何讲json字符串转化成python对象。
用到的就是json.loads()

l2 = json.loads('[1,2,"abc",{"age":"99","name":"zhangsan"}]')
l2
=>[1,2,u'abc',{u'age':99,u'name':'zhangsan'}]  #此时的l2又变回到一个列表
l2[0]
=>1
l2[1]
=>2

再把刚才那个字典用json.loads()

d2 = json.loads('{"a":"5","c":"zxc","b":"null"}')
d2
=>{u'a':5,u'b':None,u'c':'zxc'}  
d2[a]
=>5

接下来来看另外两个函数,他们两个其实和上面两个的功能一样,只不过接口不一样,json.load和json.dump接受的文件。

with open('demo.json','wb') as f:
      json.dump(l,f)  #把l写入到文件当中,不是返回一个json格式的字符串了。

此时我们去查看这个json文件。

cat demo.json
=>[1,2,"abc",{"age":99,"name":"zhangsan"}]

当然了load也是跟这个一样的,可以自己再试试。

over!!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/225808.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号