python中的JSON

json是用来将各种类型字符类型进行相互转换

import json

# json.dumps操作,一切化为字符串
dict1 = {"a":1, "b":2 }
res = json.dumps(dict1)		#res = '{"a": 1, "b": 2}'
# 有中文字符可以使用 json.dumps( data, ensuer_ascii=False)	

# json.loads操作,一切复原
dict2 = json.loads(res)		#dict2 = {"a":1, "b":2 }

为什么要将数据保存为字符串的样子呢?这主要是为了将其保存在文件中,一来节省存储空间,保存方便;二来数据统一以字符串形式保存,增强了数据可移植性。

# loads读文件数据
f = open('data.json', 'r', encoding='utf-8')
content = f.read() 
data = json.loads(cotent)

# load读文件数据
f = open('data.json',encoding="utf-8")
data = json.load(f)  


###################################################

# dumps写入文件数据
strData = json.dumps(data,indent=8,ensuer_ascii=False)
with open("data.json",'w‘,encoding='utf-8') as f 
    f.write(strData)
          
# dump写文件数据
f = open('data.json','w',encoding='utf-8')
json.dump(data, f, indent=8, ensure_ascii=False)

loads和dumps都不能直接操作文件类型,因此需要将数据read和write。
而load和dump能针对文件类型操作,相当于把read与loads组合成了load,write和dumps组合成dump

dump与dumps

如果把字典写到文件里面的时候,dump()好用;但是如果不需要操作文件,或需要把内容存储到数据库或excel,则需要使用dumps()先把字典转换成字符串,再写入。

不管是dump还是load,带s的都是和字符串相关的,不带s的都是和文件相关的。

posted @ 2020-05-01 18:30  friedCoder  阅读(141)  评论(0编辑  收藏  举报