python读写json文件

来源:互联网 发布:贷款平台网站源码 编辑:程序博客网 时间:2024/06/04 05:02

相比java,python对json文件的处理就简单很多。java操作json文件的话需要引用jar包及相关依赖包,想用java操作json的同学可以去百度,这里就不赘述了。

首先说读json文件

在进行json操作之前,首先要了解json的格式,分辨json文件。
json文件格式一般有两种:

  • 第一种:每行一个json类似于以下这种形式:
["name":"Tony","age":"21","hobbies" : ["basketball","tennis"]]["name":"Lisa","age":"20","hobbies" : ["sing","dance"]]

这种json格式是每一行是一个json,行与行之间没有关联。

  • 第二种:一个文件写成一个大的json
[{"name":"Tony","age":"21","hobbies" : ["basketball","tennis"]},{"name":"Lisa","age":"20","hobbies" : ["sing","dance"]}]

这种格式每条记录之间用,连接。
下面读取json文件,利用json.load函数

f = open('/home/codergray/company/test_2.json')#将json格式的数据映射成list的形式t = json.load(f)

所以t是一个list,按照正常访问list的方法访问就可以。

str = t[0]['name']print str输出:Tony

以上面的例子为例,访问t[0]也就是第一条json记录[‘name’]代表name字段,因而就读出了值“Tony”

写json文件

写json一般是上文提到的json格式的第二种格式,也就是整体是一个大的json。
举个例子:

f = open('result.json','w')result = []temp = {}temp['name'] = 'Tony'temp['age'] = '21'tamp['hobbies'] = ['basketball','tennis']result.append(temp)f.write(json.dumps(result,ensure_ascii=False))

通过以上代码就将一个json写进了result.json文件,当然这个大json里面只有一条记录,如果想插入多条记录可以利用循环。json.dumps方法可以看作是json.load的逆过程,将list的数据格式转化为json存在json文件中。