📜  python 使用缩进写入 json - Python (1)

📅  最后修改于: 2023-12-03 15:34:10.186000             🧑  作者: Mango

Python 使用缩进写入 JSON

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,由于它易于人类阅读和编写,并且易于机器解析和生成,因此被广泛用于web服务和移动应用程序。在Python中,可以使用内置模块json来处理JSON数据。

使用json模块可以将Python对象(如字典,列表)转换为JSON格式的字符串,并将JSON字符串转换回Python对象。

Python使用缩进来表示嵌套结构,这也是JSON的一种表示方式。下面是一个例子,展示了如何使用Python的缩进来创建JSON数据:

import json

data = {
    'name': 'John',
    'age': 30,
    'city': 'New York',
    'hobbies': ['reading', 'swimming', 'traveling'],
    'pets': [
        {
            'type': 'dog',
            'name': 'Buddy'
        },
        {
            'type': 'cat',
            'name': 'Mia'
        }
    ]
}

json_str = json.dumps(data, indent=4)
print(json_str)

输出结果:

{
    "name": "John",
    "age": 30,
    "city": "New York",
    "hobbies": [
        "reading",
        "swimming",
        "traveling"
    ],
    "pets": [
        {
            "type": "dog",
            "name": "Buddy"
        },
        {
            "type": "cat",
            "name": "Mia"
        }
    ]
}

可以看到,Python使用缩进来表示嵌套结构,所以在输出JSON字符串时,使用json.dump()函数并指定indent参数即可生成带有缩进的JSON字符串。

反过来,也可以将JSON字符串转换为Python对象:

import json

json_str = '''{
    "name": "John",
    "age": 30,
    "city": "New York",
    "hobbies": [
        "reading",
        "swimming",
        "traveling"
    ],
    "pets": [
        {
            "type": "dog",
            "name": "Buddy"
        },
        {
            "type": "cat",
            "name": "Mia"
        }
    ]
}'''

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

输出结果:

{
    'name': 'John',
    'age': 30,
    'city': 'New York',
    'hobbies': ['reading', 'swimming', 'traveling'],
    'pets': [
        {
            'type': 'dog',
            'name': 'Buddy'
        },
        {
            'type': 'cat',
            'name': 'Mia'
        }
    ]
}

在以上示例中,使用json.loads()函数将JSON字符串转换为字典对象。

总之,Python的json模块提供了简单易用的工具来处理JSON数据。可以轻松地将Python对象转换为JSON字符串,并将JSON字符串转换回Python对象。并且,Python中的缩进方式也可以很容易地表示JSON数据的嵌套结构。