python中dumps与loads、dump与load的区别

我在写到dumps和loads的时候常常会混淆这两者的作用,所以就做一下记录。

1、json.dumps()

json.dumps() 就是将dict(字典)数据转换为str(字符串),这可以应用于写入数据库中保存起来。
import json
name_json = {'a': 'liming', 'b': 'xiaohong', 'c': 'lisi'}
dumps_json = json.dumps(name_json)
print(dumps_json)
print("原先的类型:", end=" ")
print(type(name_json))
print("转变为dumps之后的类型:", end=" ")
print(type(dumps_json))

2、json.loads()

json.loads()用于将str(字符串)类型的数据转成dict(字典)

import json
name_json = {'a': 'liming', 'b': 'xiaohong', 'c': 'lisi'}
dumps_json = json.dumps(name_json)
print(dumps_json)
print("原先的类型:", end=" ")
print(type(name_json))
print("转变为dumps之后的类型:", end=" ")
print(type(dumps_json))

# str转为dict
loads_json = json.loads(dumps_json)
print(loads_json)
print("转变loads之后的类型:", end=" ")
print(type(loads_json))

结果:

3、json.dump()

json.dump() 用于将dict(字典)类型的数据转成str(字符串),并写入到json文件中。下面两种方法都可以将数据写入json文件。

import json

name_emb = {'a': 'abc', 'b': 'nihao', 'c': 'shan', 'd': 'gugu'}
emb_filename = ('../emb_json.json')
json.dump(name_emb, open(emb_filename, "w"))  # 将字典类型转变为str类型并写入文件中

# emb_json.json文件内容
{"a": "abc", "b": "nihao", "c": "shan", "d": "gugu"}

4、json.load()

json.load()用于从json文件中读取数据并将str类型转变为dict类型。

import json

emb_filename = ('../emb_json.json')
json_load = json.load(open(emb_filename))  # 将emb_json.json中的内容读出并转换为dict类型
print(json_load)

# emb_json.json中的内容
{"a": "abc", "b": "nihao", "c": "shan", "d": "gugu"}

网站声明: 1.本站大部分资源搜集于网络,仅代表作者观点,如有侵权请提交修改。 2.网站内容仅网站站长做个人学习摘记,任何人不得用于其他商业用途,网站发表的内容全权归原作者所有。 3.有任何疑问,可以点击右侧边栏的联系QQ进行咨询 4.本网站部分内容来自于其他网站平台的,版权归原网站所有,本网站只作信息记录,自己学习使用,特此申明,本站用户也不得使用此信息内容做其他商业用途。
白丁学者 » python中dumps与loads、dump与load的区别

发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据