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": "u82f1u8bed", "cn": "u4e2du6587", "fr": "u6cd5u8bed", "jp": "u65e5u8bed"}

把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)
原文地址:https://www.cnblogs.com/heenhui2016/p/10709966.html