目录
1、JSON数据的存储(将Python对象转换为JSON字符串):
2、JSON数据的读取(将JSON字符串转换为Python对象):
3、Python对象直接写入JSON文件,以及从JSON文件读取数据。
一、引言
在编程中,JSON(JavaScript Object Notation)是一种常用的数据交换格式。在许多编程语言中,包括Python、JavaScript、Java等,都有内置的库或模块来处理JSON数据。
1、什么是json?
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,以易于人阅读和编写的文本形式表示数据。它基于JavaScript编程语言的子集,但由于其简洁性和易读性,已经成为一种通用的数据格式,被广泛用于前端和后端之间的数据交换。
JSON 数据由键值对组成,类似于字典(在Python中的数据结构)或关联数组。
2、JSON 的主要特点包括:
- 易读性:JSON 数据易于阅读和编写,便于人类理解。
- 易解析: 大多数编程语言都有用于解析和生成 JSON 数据的库和工具。
- 数据交换: 用于在不同系统之间交换数据,例如在客户端和服务器之间。
二、代码实现
1、JSON数据的存储(将Python对象转换为JSON字符串):
import json
# 定义一个Python字典
data = {
"name": "John",
"age": 30,
"city": "New York"
}
# 将Python字典转换为JSON格式的字符串
json_data = json.dumps(data, indent=2) # indent参数用于指定缩进空格数,使输出更易读
# 将JSON字符串写入文件
with open('data.json', 'w') as json_file:
json_file.write(json_data)
2、JSON数据的读取(将JSON字符串转换为Python对象):
import json
# 从文件中读取JSON字符串
with open('data.json', 'r') as json_file:
json_data = json_file.read()
# 将JSON字符串转换为Python对象(通常是一个字典)
parsed_data = json.loads(json_data)
# 访问Python对象的属性
print("Name:", parsed_data["name"])
print("Age:", parsed_data["age"])
print("City:", parsed_data["city"])
这里的用于将Python对象(字典、列表等)转换为JSON格式的字符串,而用于将JSON格式的字符串转换为Python对象。
3、Python对象直接写入JSON文件,以及从JSON文件读取数据。
请注意,如果你处理的是JSON文件而不是字符串,你可以使用将Python对象直接写入JSON文件,以及从JSON文件读取数据。
# 将Python对象写入JSON文件
with open('data.json', 'w') as json_file:
json.dump(data, json_file, indent=2)
# 从JSON文件读取数据
with open('data.json', 'r') as json_file:
parsed_data = json.load(json_file)
注意事项:
json.dumps()
接受一个 Python 对象,并返回一个 JSON 格式的字符串。json.dump()
接受一个 Python 对象和一个文件对象,将 Python 对象转换为 JSON 格式的字符串,然后写入文件中。
json.loads()
接受一个 JSON 格式的字符串,而json.load()
接受一个文件对象。json.load()
在读取文件时需要使用with
语句,确保文件在读取完成后被正确关闭。