在Python中,有一个内置的json模块用于处理JSON数据。通过该模块,可以将Python对象转换为JSON格式的字符串,也可以将JSON格式的字符串转换为Python对象。
json模块提供了loads()和dumps()函数来实现JSON和Python之间的转换。loads()函数将JSON格式的字符串转换为Python对象,dumps()函数将Python对象转换为JSON格式的字符串。
JSON(JavaScript Object Notation)是一种用于存储和交换数据的轻量级数据交换格式。JSON由键值对构成,键和值之间使用冒号分隔,键值对之间使用逗号分隔,并且整个结构包含在花括号中。
1、json.dumps()
json.dumps() 函数用于将Python对象序列化为JSON字符串。
以下是使用json.dumps()的示例:
import json
data = {
"name": "John",
"age": 30,
"city": "New York"
}
# 将Python对象转换为JSON格式的字符串
json_str = json.dumps(data)
print(json_str)
注意:
1、字典的单引号会被转换为双引号的JSON字符串。
2、将Python对象序列化为JSON格式时,json.dumps默认会将非ASCII字符转义为Unicode转义序列。如果希望中文字符不被转义,可以通过设置ensure_ascii参数为False来实现。
import json
# 创建一个Python对象
data = {
"censusAddr": "南京市"
}
json_data = json.dumps(data)
print(json_data) # {"censusAddr": "\u5357\u4eac\u5e02"}
# 将Python对象序列化为JSON字符串,并设置ensure_ascii参数为False
json_str = json.dumps(data, ensure_ascii=False)
print(json_str) # {"censusAddr": "南京市"}
2、json.dump()
json.dump()函数用于将Python对象转换为JSON格式的字符串,并将其写入文件中。
以下是使用json.dump()的示例:
import json
data = {
"name": "John",
"age": 30,
"city": "New York"
}
# 将Python对象转换为JSON格式的字符串,并写入文件
with open("data.json", "w") as file:
json.dump(data, file)
3、json.loads()
json.loads()函数用于将JSON字符串反序列化为Python对象
以下是使用json.loads()的示例:
import json
json_str = '{"name": "John", "age": 30, "city": "New York"}'
# 将JSON格式的字符串转换为Python对象
data = json.loads(json_str)
print(data)
4、json.load()
json.load()函数用于从文件中读取JSON格式的数据,并将其转换为Python对象。
以下是使用json.load()的示例:
import json
# 从文件中读取JSON格式的数据并转换为Python对象
with open("data.json", "r") as file:
data = json.load(file)
print(data)
5、json.dumps和json.dump的区别
`json.dumps()`和`json.dump()`都是Python中json模块提供的用于将Python对象转换为JSON格式数据的函数,但它们之间有一些重要的区别。
1. `json.dumps()`: 这个函数用来将Python对象转换为JSON格式的字符串。它接受一个Python对象作为参数,并返回一个包含JSON格式数据的字符串。
2. `json.dump()`: 这个函数用来将Python对象转换为JSON格式的数据,并将结果写入文件中。它接受两个参数,第一个是Python对象,第二个是文件对象。它将JSON格式的数据写入指定的文件中。
6、json.loads和json.load的区别
`json.loads()`和`json.load()`都是Python中json模块提供的用于将JSON格式数据转换为Python对象的函数,但它们之间有一些重要的区别。
1. `json.loads()`: 这个函数用来将JSON格式的字符串转换为Python对象。它接受一个包含JSON格式数据的字符串作为参数,并返回相应的Python对象。
2. `json.load()`: 这个函数用来读取包含JSON格式数据的文件,并将其转换为Python对象。它接受一个文件对象作为参数,并返回相应的Python对象。
reference: