Json模块dumps、loads、dump、load函数介绍
1、json.dumps()
用于将dict类型的数据转成str
2、json.loads()
用于将str类型的数据转成dict
3、json.dump()用于将dict类型的数据转成str,并写入到json文件中。下面两种方法都可以将数据写入json文件
4、json.load()用于从json文件中读取数据
测试代码如下:
import json data_str = '{"name": "奔奔", "age": 18,"sex":"女"}' # 将str类型的数据转换为dict str_to_dict = json.loads(data_str, encoding='utf-8') print("data_str的类型为:{}".format(type(data_str))) print("str_to_dict的类型为:{}".format(type(str_to_dict))) # 将dict类型的数据转换为str dict_to_str = json.dumps(str_to_dict, ensure_ascii=False) print("dict_to_str的类型为:{}".format(type(dict_to_str))) # 将dict类型的数据转成str,并写入到json文件中 dict_data = [ {"one_info":{"name": "奔奔", "age": 18, "sex": "女"}}, {"two_info":{"name": "张三", "age": 20, "sex": "男"}} ] with open("test_json.json", mode='w', encoding='utf-8') as fp: json.dump(dict_data, fp,ensure_ascii=False,indent=2) # 从json文件中读取数据 with open("test_json.json", mode='r', encoding='utf-8') as fp: load_dict = json.load(fp) print("读取出的数据为:{}".format(load_dict))
运行结果如下:
data_str的类型为:<class 'str'> str_to_dict的类型为:<class 'dict'> dict_to_str的类型为:<class 'str'> 读取出的数据为:{'name': '奔奔', 'age': 18, 'sex': '女'}
写入的json文件内容如下:
[ { "one_info": { "name": "奔奔", "age": 18, "sex": "女" } }, { "two_info": { "name": "张三", "age": 20, "sex": "男" } } ]