- 前言
- 举例环节
- 什么叫把不同类型的Python对象转换成对应类型的字符串
- dump()和dumps()对比举例
前言
json模块主要常用的有四个
- json.dumps()
- json.dump()
- json.loads()
- json.load()
今天讲讲dumps()和dump()区别
√ 相同点:
把不同类型的Python对象转换成对应类型的字符串
× 不同点:
loads操作的是字符串
load操作的是文件流
Python对象包括:所有Python基本数据类型,列表,元组,字典,自己定义的类,等等,不包括Python的字符串类型,把字符串或者文件中的字符串转为字符串会报错的
举例环节 什么叫把不同类型的Python对象转换成对应类型的字符串
- 将整数类型的字符串转为int类型的python对象
print(type(json.dumps(123456))) #
- 将浮点类型的python对象转为float类型的字符串
print(type(json.dumps(123.456))) #
- 将boolean类型的python对象转为bool类型的字符串
print((type(json.dumps(True)))) #
- 将列表类型的python对象转为列表类型的字符串
print(type(json.dumps(["a", "b", "c"]))) #
- 将字典类型的python对象转为dict类型的字符串
print(type(json.dumps({"a": 1, "b": 1.2, "c": True, "d": "ddd"}))) #
dump()和dumps()对比举例
son.dump读取文件后将dict类型的python对象转为dict类型的字符串
s = {'sex': '女', 'name': 'jingjing', 'age': 18}
filename = 'demo_dump.json'
with open(filename, 'w', encoding="utf-8") as f:
json.dump(s, f)
with open(filename, "r", encoding="utf-8") as f:
print(json.load(f)) # {"sex": "女", "name": "jingjing", "age": 18}
json.dumps将Python对象转为字符串
s = {'sex': '女', 'name': 'jingjing', 'age': 18}
print(json.dumps(s, ensure_ascii=False)) # ensure_ascii=False 是为了防止乱码 # {"sex": "女", "name": "jingjing", "age": 18}
print(type(json.dumps(s))) #



