📜  使用Python的 JSON 漂亮打印(1)

📅  最后修改于: 2023-12-03 14:49:50.740000             🧑  作者: Mango

使用Python的JSON漂亮打印

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人们阅读和编写以及机器解析和生成,被广泛应用于 Web 应用程序中。Python内置了对JSON的支持,并提供了许多操作JSON数据的方法。然而,当我们读取JSON数据时,它很难被人类读懂,这时候就需要使用JSON漂亮打印的方法来使其更加直观。

1. JSON数据的读取

Python中使用json.loads方法来将JSON数据读入,该方法可以将JSON字符串转换为Python对象。例如,我们可以将以下JSON字符串读入:

import json

json_str = '''
{
    "name": "John",
    "age": 30,
    "city": "New York"
}
'''

data = json.loads(json_str)
print(data)

输出如下:

{'name': 'John', 'age': 30, 'city': 'New York'}
2. JSON漂亮打印

当打印较为复杂的JSON数据时,它通常很难阅读。这时我们就需要使用JSON漂亮打印,即将JSON数据格式化输出。Python中提供了json.dumps方法来实现JSON漂亮打印。

import json

json_str = '''
{
    "name": "John",
    "age": 30,
    "city": "New York",
    "cars": [
        {
            "model": "BMW 230",
            "mpg": 27.5
        },
        {
            "model": "Ford Edge",
            "mpg": 24.1
        }
    ]
}
'''

data = json.loads(json_str)
pretty_json = json.dumps(data, indent=4, sort_keys=True)
print(pretty_json)

通过indent参数可以指定每个缩进级别的空格数,通过sort_keys参数可以指定是否按照键名排序。以上代码的输出结果如下:

{
    "age": 30,
    "cars": [
        {
            "model": "BMW 230",
            "mpg": 27.5
        },
        {
            "model": "Ford Edge",
            "mpg": 24.1
        }
    ],
    "city": "New York",
    "name": "John"
}
3. 将JSON数据保存到文件中

我们还可以将JSON数据保存到文件中,以便于后续读取。Python中提供了json.dump方法来将JSON数据写入文件中。

import json

data = {
    "name": "John",
    "age": 30,
    "city": "New York",
    "cars": [
        {
            "model": "BMW 230",
            "mpg": 27.5
        },
        {
            "model": "Ford Edge",
            "mpg": 24.1
        }
    ]
}

with open("data.json", "w") as f:
    json.dump(data, f, indent=4)

以上代码将JSON数据写入名为data.json的文件中,格式化缩进为4个空格。

结论

JSON漂亮打印是对阅读JSON数据很有帮助的一个工具。Python中提供了多种方法使得JSON数据的读取、解析和漂亮打印十分方便。不过在处理大规模JSON数据时,需要注意程序的性能问题。