Python中json.dumps()和json.loads()的使用理解

总体使用方法

方法 作用
json.dumps() 将python对象编码成json字符串
json.loads() 将json字符串编码成python对象
json.dump() 将python对象转成json对象并生成文件流存起来
json.load() 将文件中json对象转成python对象提取出来

json.dumps()

作用:把Python对象编码成Json字符串

import json  
  
body = {"key1": False, "key2": None, "key3": True, "key4": "val4"}  
  
print("原始body的值:", body)  
print("原始body的类型:", type(body))  
print("使用json.dumps()转换后的body值:", json.dumps(body))  
print("使用json.dumps()转换后的body类型:", type(json.dumps(body)))

打印的结果为

原始body的值: {'key1': False, 'key2': None, 'key3': True, 'key4': 'val4'}
原始body的类型: <class 'dict'>
使用json.dumps()转换后的body值: {"key1": false, "key2": null, "key3": true, "key4": "val4"}
使用json.dumps()转换后的body类型: <class 'str'>

json.loads()

作用:把Json字符串编码成python对象

body = '{"key1": false, "key2": null, "key3": true, "key4": "val4"}'  
print("原始body的值:", body)  
print("原始body的类型:", type(body))  
print("使用json.loads()转换后的body值:", json.loads(body))  
print("使用json.loads()转换后的body类型:", type(json.loads(body)))

打印的结果为

原始body的值: {"key1": false, "key2": null, "key3": true, "key4": "val4"}
原始body的类型: <class 'str'>
使用json.loads()转换后的body值: {'key1': False, 'key2': None, 'key3': True, 'key4': 'val4'}
使用json.loads()转换后的body类型: <class 'dict'>

json.dump()

作用:用于将python对象转换为字符串并且写入文件

body = {"key1": False, "key2": None, "key3": True, "key4": "val4"}  
with open(file="json_dump.json", mode="w", encoding="utf-8") as f:  
    json.dump(body, f)

执行代码后,会在当前目录下生成一个json_dump.json文件,json_dump.json文件中的内容为:

{"key1": false, "key2": null, "key3": true, "key4": "val4"}

json.load()

作用:将文件中的json格式转换成python对象提取
创建一个json_load.json文件,并写入json数据

{"key1": false, "key2": null, "key3": true, "key4": "val4"}

在.py文件中读取json_load.json文件的数据并转换成python对象

with open(file="json_load.json", mode="r", encoding="utf-8") as f:  
    source = f.read()  
print("读取json_load.json原始数据为:",source)  
print("读取json_load.json原始数据类型为:",type(source))  
  
  
with open(file='json_load.json',mode="r",encoding="utf-8") as f:  
    body = json.load(f)  
print("json.load()转换后的数据:", body)  
print("json.load()转换后的数据类型:", type(body))

打印结果为:

读取json_load.json原始数据为: 
	{"key1": false, "key2": null, "key3": true, "key4": "val4"}
读取json_load.json原始数据类型为:
	<class 'str'>

json.load()转换后的数据: 
	{'key1': False, 'key2': None, 'key3': True, 'key4': 'val4'}
json.load()转换后的数据类型: 
	<class 'dict'>


json.dumps()和json.dump()的区别

  • json.dumps()是把python对象转变成json字符串,返回的是字符串
  • json.dump()是把python对象转变成json字符串,并写入到文件中

json.loads()和json.load()的区别

  • json.loads()是把python文件中的json字符串转变成python对象
  • json.load()是把文件中的json字符串转变成python对象并提取出来

你可能感兴趣的:(python,json,开发语言)