json dumps把数据类型转换成字符串 dump把数据类型转换成字符串并存储在文件中 loads把字符串转换成数据类型 load把文件打开从字符串转换成数据类型
json是可以在不同语言之间交换数据的,而pickle只在python之间使用。json只能序列化最基本的数据类型,josn只能把常用的数据类型序列化(列表、字典、列表、字符串、数字、),比如日期格式、类对象!josn就不行了。而pickle可以序列化所有的数据类型,包括类,函数都可以序列化。
程序
import json
d = dict(name='Bob', age=20, score=88)
# 编码前
print(type(d))
print(d)
# 编码后
en_d_json = json.dumps(d)
print(type(en_d_json))
print(en_d_json)
# 解码后的Python类型
de_d_json = json.loads(en_d_json)
print(type(de_d_json))
print(de_d_json)
# 将数据写入到json文件中
with open('test.json', 'w') as f:
json.dump(de_d_json, f)
# 从json中读取数据
with open('test.json', 'r') as f:
load_dict = json.load(f)
print(load_dict['name'])
结果
<class 'dict'>
{'name': 'Bob', 'age': 20, 'score': 88}
<class 'str'>
{"name": "Bob", "age": 20, "score": 88}
<class 'dict'>
{'name': 'Bob', 'age': 20, 'score': 88}
Bob
欢迎大家加入python机器视觉经验交流QQ群: