python对json支持——如何给json文件写入多个字典并读出多个字典

今天在这个问题上栽了一下午的跟头,脑袋卡壳了,哈哈!!!很尴尬,但是问题还是被我解决了。好了,言归正传,解决问题才是王道。


给json中,放入多个字典很简单,读出来也很简单,但是怎么理想的操作,且让我们用起来很顺手就很麻烦了。给文件中放入多个字典,我可以想出很多办法,例如将字典字符串话,然后将字符串放入文件中就行了。最后读的时候,我们再以二进制读就是了。但是这样操作很麻烦的,且可操作性是个问题,很麻烦。
下面是我提供的方法,我们可以将多个字典放入列表中,然后将列表存入json文件中就可以了。读的时候,利用json.load()函数可以将这列表读出来,然后遍历就是了。
下面是一个小demo,可以将代码复制下来试试,代码里面有关键的注释,我这个人很懒得,懒得写注释:

import json
dict1 = {'a':1, 'b':2, 'c':3}
dict2 = {'A':1, 'B':2, 'C':3}
dict3 = {'q':1, 'b':2, 'z':3}
dict_list = []
dict_list.append(dict1)
dict_list.append(dict2)
dict_list.append(dict3)
# 其实,我完全可以这样写dict_list = [dict1,dict2,dict3];之所如上述那么些,是让大家知道,我们是动态控制的
with open('demo3.json', mode='w', encoding='utf-8') as f:json.dump(dict_list, f)# 将字典列表存入json文件中with open('demo3.json', mode='r', encoding='utf-8') as f:dicts = json.load(f)# 将多个字典从json文件中读出来for i in dicts:print(i)

运行结果——文件内容:

运行结果——输出:


很简单,很nice。

python对json支持——如何给json文件写入多个字典并读出多个字典

今天在这个问题上栽了一下午的跟头,脑袋卡壳了,哈哈!!!很尴尬,但是问题还是被我解决了。好了,言归正传,解决问题才是王道。


给json中,放入多个字典很简单,读出来也很简单,但是怎么理想的操作,且让我们用起来很顺手就很麻烦了。给文件中放入多个字典,我可以想出很多办法,例如将字典字符串话,然后将字符串放入文件中就行了。最后读的时候,我们再以二进制读就是了。但是这样操作很麻烦的,且可操作性是个问题,很麻烦。
下面是我提供的方法,我们可以将多个字典放入列表中,然后将列表存入json文件中就可以了。读的时候,利用json.load()函数可以将这列表读出来,然后遍历就是了。
下面是一个小demo,可以将代码复制下来试试,代码里面有关键的注释,我这个人很懒得,懒得写注释:

import json
dict1 = {'a':1, 'b':2, 'c':3}
dict2 = {'A':1, 'B':2, 'C':3}
dict3 = {'q':1, 'b':2, 'z':3}
dict_list = []
dict_list.append(dict1)
dict_list.append(dict2)
dict_list.append(dict3)
# 其实,我完全可以这样写dict_list = [dict1,dict2,dict3];之所如上述那么些,是让大家知道,我们是动态控制的
with open('demo3.json', mode='w', encoding='utf-8') as f:json.dump(dict_list, f)# 将字典列表存入json文件中with open('demo3.json', mode='r', encoding='utf-8') as f:dicts = json.load(f)# 将多个字典从json文件中读出来for i in dicts:print(i)

运行结果——文件内容:

运行结果——输出:


很简单,很nice。