使用 Python 处理 JSON 格式的数据

  • Post category:Python

下面我将详细讲解“使用Python处理JSON格式的数据”的完整攻略。

什么是JSON格式数据

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,是基于JavaScript语言的子集,使用易于人类阅读和编写的文本格式进行数据的传递。JSON格式数据由键值对组成,键名和键值之间用冒号分隔,每一对键值对之间用逗号分隔,整个JSON文本用大括号包起来。比如:

{
    "name": "Alice",
    "age": 25,
    "hobbies": ["reading", "swimming", "cooking"],
    "address": {
        "street": "123 Main St",
        "city": "New York",
        "state": "NY"
    }
}

读取JSON格式数据

使用Python处理JSON格式数据,需要使用内置的json模块。json模块提供了两个方法来处理JSON格式数据:loads()和dumps()。

  • loads()方法:用于将JSON格式的字符串转成Python对象。
  • dumps()方法:将Python对象转成JSON格式的字符串。

示例1:将JSON格式字符串转换为Python对象

import json

json_str = '{"name": "Alice", "age": 25, "hobbies":["reading", "swimming", "cooking"], "address": {"street": "123 Main St", "city": "New York", "state": "NY"}}'

# 将JSON格式的字符串转换为Python对象
data = json.loads(json_str)

# 打印Python对象
print(data)

输出结果为:

{'name': 'Alice', 'age': 25, 'hobbies': ['reading', 'swimming', 'cooking'], 'address': {'street': '123 Main St', 'city': 'New York', 'state': 'NY'}}

示例2:将Python对象转换为JSON格式字符串

import json

data = {
    "name": "Alice",
    "age": 25,
    "hobbies": ["reading", "swimming", "cooking"],
    "address": {
        "street": "123 Main St",
        "city": "New York",
        "state": "NY"
    }
}

# 将Python对象转换为JSON格式字符串
json_str = json.dumps(data)

# 打印JSON格式字符串
print(json_str)

输出结果为:

{"name": "Alice", "age": 25, "hobbies": ["reading", "swimming", "cooking"], "address": {"street": "123 Main St", "city": "New York", "state": "NY"}}

写入JSON格式数据

使用Python写入JSON格式数据,需要先将要保存的数据转成Python对象,然后再使用dumps()方法将Python对象转成JSON格式的字符串,最后再将JSON格式字符串写入文件中。

示例3:将Python对象写入JSON格式文件

import json

data = {
    "name": "Alice",
    "age": 25,
    "hobbies": ["reading", "swimming", "cooking"],
    "address": {
        "street": "123 Main St",
        "city": "New York",
        "state": "NY"
    }
}

# 将Python对象转换为JSON格式字符串
json_str = json.dumps(data, indent=4) # indent参数用于控制换行和缩进

# 将JSON格式字符串写入文件
with open("data.json", "w") as f:
    f.write(json_str)

其中,indent参数用于控制换行和缩进,可以让JSON格式数据更加易读。

以上就是使用Python处理JSON格式数据的完整攻略,包含读取JSON格式数据和写入JSON格式数据的示例。