python json模块中dumps、dump、loads、load函数介绍

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": "男"
    }
  }
]