一、模块使用
1. json.dumps()
注:json.dumps()用于将dict类型的数据转成str;ensure_ascii=True,json.dumps序列化时候对中文默认使用的ascii编码,想要输出真正的中文需要指定ensure_ascii=False
import json
name = {'a': '1', 'b': '2', 'c': '3', 'd': '4'}
json_obj = json.dumps(name)
print(name, type(name))
print(json_obj, type(json_obj))
>>{'a': '1', 'b': '2', 'c': '3', 'd': '4'} <class 'dict'>
>>{"a": "1", "b": "2", "c": "3", "d": "4"} <class 'str'>
2. json.loads()
注:json.loads()用于将str类型的数据转成dict
import json
name = {'a': '1', 'b': '2', 'c': '3', 'd': '4'}
json_dumps = json.dumps(name)
json_loads = json.loads(json_dumps)
print(name, type(name))
print(json_dumps, type(json_dumps))
print(json_loads, type(json_loads))
>>{'a': '1', 'b': '2', 'c': '3', 'd': '4'} <class 'dict'>
>>{"a": "1", "b": "2", "c": "3", "d": "4"} <class 'str'>
>>{'a': '1', 'b': '2', 'c': '3', 'd': '4'} <class 'dict'>
3. json.dump()
注:json.dump()用于将dict类型的数据转成str,并写入到json文件中
import json
name = {'a': '1', 'b': '2', 'c': '3', 'd': '4'}
filePath = ("data.json")
# soluton_one
json_obj = json.dumps(name)
with open(filePath, "w") as f:
f.write(json_obj)
# solution_two
json.dump(name, open(filePath, "w"))
4. json.load()
注:json.load()用于从json文件中读取数据
import json
filename = "data"
json_obj = json.load(open(filename))
print(json_obj, type(json_obj))
for key in json_obj.keys():
print(key, json_obj.get(key))
>>{'a': '1', 'b': '2', 'c': '3', 'd': '4'} <class 'dict'>
>>a 1
>>b 2
>>c 3
>>d 4