当我们在处理 Python 中的 JSON 数据时,有时需要对 JSON 数据进行格式化打印输出。Python 中的 json 模块可以实现对 JSON 数据的格式化处理,下面我们将详细讲解 Python json 格式化打印的实现过程。
1. 加载 JSON 数据
在 Python 中,我们需要通过 json
模块来处理 JSON 数据。使用 json.loads()
方法来将 JSON 字符串转换为 Python 对象。
import json
json_data = '{"name": "John", "age": 30}'
data = json.loads(json_data)
print(data)
输出结果为:
{'name': 'John', 'age': 30}
2. 格式化 JSON 数据
在得到 Python 对象之后,我们可以使用 json.dumps()
方法将对象转换为格式化后的 JSON 数据。我们可以通过设置 indent
参数来控制 JSON 数据的缩进宽度。
import json
json_data = '{"name": "John", "age": 30}'
data = json.loads(json_data)
formatted_data = json.dumps(data, indent=4)
print(formatted_data)
输出结果为:
{
"name": "John",
"age": 30
}
示例1
对于一个较复杂的 JSON 数据,我们可以通过格式化后的输出更加清晰地看到数据结构。如下所示:
import json
json_data = '''
{
"employees": [
{
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com",
"phone": {
"home": "12345678",
"mobile": "0987654321"
},
"address": {
"street": "Main Street",
"city": "New York",
"state": "NY",
"zip": "10001"
}
},
{
"firstName": "Jane",
"lastName": "Doe",
"email": "jane@example.com",
"phone": {
"home": "12345678",
"mobile": "0987654321"
},
"address": {
"street": "Main Street",
"city": "New York",
"state": "NY",
"zip": "10001"
}
}
]
}
'''
data = json.loads(json_data)
formatted_data = json.dumps(data, indent=4)
print(formatted_data)
输出结果为:
{
"employees": [
{
"firstName": "John",
"lastName": "Doe",
"email": "john@example.com",
"phone": {
"home": "12345678",
"mobile": "0987654321"
},
"address": {
"street": "Main Street",
"city": "New York",
"state": "NY",
"zip": "10001"
}
},
{
"firstName": "Jane",
"lastName": "Doe",
"email": "jane@example.com",
"phone": {
"home": "12345678",
"mobile": "0987654321"
},
"address": {
"street": "Main Street",
"city": "New York",
"state": "NY",
"zip": "10001"
}
}
]
}
示例2
除了控制缩进宽度之外,我们还可以设置其他参数,如 sort_keys
参数来按照 key 值的字典顺序输出 JSON 数据。如下所示:
import json
json_data = '{"z": {"c": "d", "a": "b"}}'
data = json.loads(json_data)
formatted_data = json.dumps(
data,
indent=4,
sort_keys=True
)
print(formatted_data)
输出结果为:
{
"z": {
"a": "b",
"c": "d"
}
}
这些便是 Python 中对 JSON 数据进行格式化打印的基本操作。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python json格式化打印实现过程解析 - Python技术站