Python JSON格式化
什么是JSON格式化
在 Python 中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式。它基于 JavaScript 编程语言的一种文本格式,能够通过文本文件进行数据交换,同时也易于阅读和编写。JSON 格式化的数据结构类似于 Python 中的字典,因此在 Python 中处理 JSON 数据非常方便。
JSON数据结构
JSON 数据结构由键-值对组成,其中键是字符串,值可以是字符串、数字、对象、数组等。在 Python 中,JSON 数据可以通过内置的 json 模块进行解析和生成。
import json
# 定义一个简单的JSON字符串
simple_json = '{"name": "geek-docs.com", "age": 5}'
# 将JSON字符串解析为Python对象
data = json.loads(simple_json)
print(data)
运行结果:
{'name': 'geek-docs.com', 'age': 5}
JSON 数据解析
在 Python 中,可以使用 json 模块的 loads() 函数将 JSON 字符串解析为 Python 对象,如字典、列表等。下面是一个更复杂的 JSON 数据示例,包含一个数组和一个嵌套的对象。
import json
# 定义一个复杂的JSON字符串
complex_json = '{
"name": "Alice",
"age": 30,
"friends": ["Bob", "Charlie"],
"address": {
"street": "123 Main St",
"city": "San Francisco"
}
}'
# 将JSON字符串解析为Python对象
data = json.loads(complex_json)
print(data)
运行结果:
{'name': 'Alice', 'age': 30, 'friends': ['Bob', 'Charlie'], 'address': {'street': '123 Main St', 'city': 'San Francisco'}}
JSON 数据生成
除了解析 JSON 数据外,还可以使用 json 模块的 dumps() 函数将 Python 对象转换为 JSON 字符串。下面是将一个字典对象转换为 JSON 字符串的示例。
import json
# 定义一个字典对象
data = {
"name": "Alice",
"age": 30,
"friends": ["Bob", "Charlie"],
"address": {
"street": "123 Main St",
"city": "San Francisco"
}
}
# 将Python对象转换为JSON字符串
json_str = json.dumps(data)
print(json_str)
运行结果:
'{"name": "Alice", "age": 30, "friends": ["Bob", "Charlie"], "address": {"street": "123 Main St", "city": "San Francisco"}}'
JSON数据格式化
在生成 JSON 字符串时,可以利用 json 模块的 dump() 函数以及参数缩进和分隔符,美化输出的 JSON 数据。
import json
# 定义一个字典对象
data = {
"name": "Alice",
"age": 30,
"friends": ["Bob", "Charlie"],
"address": {
"street": "123 Main St",
"city": "San Francisco"
}
}
# 将Python对象转换为格式化的JSON字符串
json_str = json.dumps(data, indent=4, separators=(',', ': '))
print(json_str)
运行结果:
{
"name": "Alice",
"age": 30,
"friends": [
"Bob",
"Charlie"
],
"address": {
"street": "123 Main St",
"city": "San Francisco"
}
}
以上就是关于 Python 中 JSON 格式化的介绍,通过 json 模块可以方便地解析和生成 JSON 数据,并且支持数据格式化输出,使 JSON 数据更易于阅读。在实际应用中,JSON 格式化常用于 API 数据交换、配置文件存储等场景。