Python操作Json的方法:
- json.dump()
- json.load()
- json.dumps()
- json.loads()
估计看到这些,很多人懵逼了,今天我们就利用短短10min的时间快速捋清楚
主要区别:
- dump() 和 load() 处理的是Json文件
- dumps() 和 loads() 处理的是字符串
小贴士:记忆小窍门,dumps 和 loads都是带s,表示处理str字符串,不带s表示处理文件
json.loads()
json.loads()是将Json类型字符串转换成Python数据类型。
import json
json_str = '{"name": "Kity", "age": 26}'
print(type(json_str), json_str) # {"name": "Kity", "age": 26}
json_dict = json.loads(json_str)
print(type(json_dict), json_dict) # {'name': 'Kity', 'age': 26}
小贴士:Json格式字符串要求 { } 内是双引号
json.dumps()
json.dumps()是将Python数据类型转换成Json类型字符串
import json
json_dict = {'name': 'Kity', 'age': 26}
print(type(json_dict), json_dict) # {'name': 'Kity', 'age': 26}
json_str = json.dumps(json_dict)
print(type(json_str), json_str) # {"name": "Kity", "age": 26}
小贴士:json.dumps() 内还可以传入indent和ensure_ascii参数
- indent: 使得输出效果好看,建议indent=4
- ensure_ascii: 默认是True,对于含有中文的话,建议带上ensure_ascii=False
json_str = json.dumps(json_dict, indent=4, ensure_ascii=False)
json.dump()
json.dump()是将Python数据类型转成Json类型字符串并写入Json文件中
import json
json_dict = {'name': 'Kity', 'age': 26}
with open('test.json', 'w') as f:
json.dump(json_dict, f)
小贴士:json.dump(obj, fp)
- obj: 第一个参数传Python数据类型
- fp: 第二个参数传file object文件对象,比如:
fp = open('my.json', 'w')
json.load()
json.load()是json.dump的反操作,用于从Json文件中读取数据
import json
with open('test.json', 'r') as f:
json_dict = json.load(f)
print(type(json_dict), json_dict) # {'name': 'Kity', 'age': 26}
上一篇:Python读写CSV
下一篇:正则表达式