json 文件的读写
2019-07-17 本文已影响0人
Leahlijuan
json文件保存的最小单元应该是一个dictionary,但是在实际储存事是,不一定是直接写入一个dictionary,有可能写入的是一个由dictionary组成的list,甚至是由这些list组成的多个list。
写入json
写入只需要json.dump就够了,如果想空行,f.write('\n')
dic = {}
dic['a'] = 1
with open("tmp.json", 'w') as f:
json.dump(dic, f)
读取json文件
- dictionary 或者list
如果json文件中是一个dictionary或者list,读取的时候直接:
with open(file_path, 'r') as f:
data = json.load(f)
- 别的情况
我遇到过很奇怪的json文件,它的每一行是一个list,这个list里面由很多dictionary。这种情况下我们必须一次读取每一行。其中readlines是关键(需要读取的json的list之间必须换行)
data = []
with open(input_file, encoding='UTF-8') as fp:
for i in fp.readlines():
c = json.loads(i)
data.append(c)