JSON编码解码对应dump与load

JSON是一种轻量级的数据交换格式,表示出来的是一个字符串,可以被所有语言读取。在Python中,JSON处理文件本质上就是一个编码、解码的过程。

JSON库中的dump和dumps方法实现JSON编码功能。区别是dump方法将编码后的数据存到文件中,而dumps方法产生一个JSON字符串

这里dump写入文件产生的是一个json字符串,而dumps转化成json然后在写入是一个普通的字符串
dump写入一个json字符串需要打开一个写入的文件

import json
a = {'invalid':{'src':'work-e','dst':'work-d','falg':'1'}}

# 自带写入;写入json字符串
fp = open('b.json','w',encoding='utf-8')
json.dump(a,fp)
fp.close()
# "{\"invalid\": {\"src\": \"work-e\", \"dst\": \"work-d\", \"falg\": \"1\"}}"

而手动写入元素外是没有双引号的


# 文件写入,写入字符串
with open('a.json','w',encoding='utf-8') as f:
    print(json.dumps(a))
    a = json.dumps(a)
    f.write(a)

# {"invalid": {"src": "work-e", "dst": "work-d", "falg": "1"}}

load是从json文件中读取的数据转化为dict,loads是将json格式的数据转化为dict
load和loads方法实现JSON解码功能,load需要从文件加载数据解码,而loads加载字符串进行解码。

posted @ 2021-10-18 13:38  索匣  阅读(268)  评论(0编辑  收藏  举报