python json文件_python中对json文件的读写

**

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

AAffA0nNPuCLAAAAAElFTkSuQmCC

**

那么在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!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值