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文件中。

Python 中 JSON和dict的转换,json的使用

test.json中的内容:

Python 中 JSON和dict的转换,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)

 

上一篇:【译】用 React 和 D3 创建图表


下一篇:Oracle计算高德地图两点间距离