Python 中 JSON和dict的转换,json的使用
一、 基础语法
在Python 的 json库中,共有四个方法。分别是:
json.load() # 从文件中加载 json.loads() # 数据中加载 json.dump() # 转存到文件 json.dumps() # 转存到数据对象
二、举例
以下所以例子,都以这个字典为例。
d1 = {
'en':'英语',
'cn':'中文',
'fr':'法语',
'jp':'日语'
}
2.1 对象之间的转化
把这个dict转换为 json 对象:
j1 = json.dumps(d1) # dict 变 json
print('j1',j1)
输出结果是:j1 {"en": "\u82f1\u8bed", "cn": "\u4e2d\u6587", "fr": "\u6cd5\u8bed", "jp": "\u65e5\u8bed"}
把j1这个json对象,变为dict对象
d2 = json.loads(j1) # json 变 dict
print('d2',d2)
输出结果是:d2 {'en': '英语', 'cn': '中文', 'fr': '法语', 'jp': '日语'}
2.2 json文件和数据对象
with open('test.json','w+') as f:
json.dump(d1, f)
这段代码,把d1这个字典类型的对象,存到了当前目录的test.json文件中。

test.json中的内容:

这样就把dict导出到文件,以json方式存储。
读取到内存中的字典运行以下代码:
with open('test.json','r+') as f:
d3 = json.load(f)
print('d3',d3)
输出的结果是:
d3 {'en': '英语', 'cn': '中文', 'fr': '法语', 'jp': '日语'}
三、完整代码
import json
d1 = {
'en':'英语',
'cn':'中文',
'fr':'法语',
'jp':'日语'
}
print('d1',d1)
j1 = json.dumps(d1) # dict 变 json
print('j1',j1)
d2 = json.loads(j1) # json 变 dict
print('d2',d2)
with open('test.json','w+') as f:
json.dump(d1, f)
with open('test.json','r+') as f:
d3 = json.load(f)
print('d3',d3)

浙公网安备 33010602011771号