使用 Python 处理 JSON 数组

在现代软件开发中,JSON(JavaScript Object Notation)是一种广泛使用的数据交换格式。它以轻量级、可读性强的特点受到了开发者的青睐。Python 作为一种强大的编程语言,提供了丰富的工具来操作 JSON 数据。本文将探讨如何在 Python 中调取和处理 JSON 数组,并提供相关的代码示例。

什么是 JSON

JSON 是一种基于文本的数据格式,通常用于客户端与服务器之间的通信。它的基本构造单位是键值对(name/value pairs),并且它可以存储复杂的数据结构,如数组和对象。

使用 Python 处理 JSON 数据

Python 的 json 模块非常方便,可以轻松地将 JSON 数据解析为 Python 对象,反之亦然。在一个典型的使用场景中,我们会读取一个包含 JSON 数组的文件,并提取出我们需要的信息。

代码示例

假设我们有一个 JSON 文件 data.json,其内容如下:

[
    {
        "name": "Alice",
        "age": 30,
        "city": "New York"
    },
    {
        "name": "Bob",
        "age": 25,
        "city": "Los Angeles"
    },
    {
        "name": "Charlie",
        "age": 35,
        "city": "Chicago"
    }
]

我们希望从这个数组中提取每个人的姓名和城市。以下是处理这个 JSON 数组的 Python 代码示例:

import json

# 读取 JSON 文件
with open('data.json', 'r') as file:
    data = json.load(file)

# 提取姓名和城市
for person in data:
    name = person['name']
    city = person['city']
    print(f'Name: {name}, City: {city}')

运行上述代码后,输出将会是:

Name: Alice, City: New York
Name: Bob, City: Los Angeles
Name: Charlie, City: Chicago

UML 类图

在我们的示例中,可以看出 Person 类是一个抽象概念,用于表示一个人。下面是用 mermaid 语法绘制的 UML 类图:

classDiagram
    class Person {
        +String name
        +int age
        +String city
        +get_details() String
    }

get_details 方法

我们还可以定义一个 get_details() 方法来返回一个字符串,包含姓名和城市信息。以下是示例代码:

class Person:
    def __init__(self, name, age, city):
        self.name = name
        self.age = age
        self.city = city

    def get_details(self):
        return f'Name: {self.name}, City: {self.city}'

交互序列图

为了更清晰地展示处理 JSON 数据的流程,以下是用 mermaid 语法绘制的交互序列图:

sequenceDiagram
    participant User
    participant Python Script
    participant JSON File
    
    User->>Python Script: Read JSON file
    Python Script->>JSON File: Load data
    JSON File-->>Python Script: data
    Python Script->>Python Script: Extract names and cities
    Python Script-->>User: Display names and cities

小结

通过以上示例,我们清楚地了解了如何在 Python 中处理 JSON 数组。我们学习了如何读取 JSON 数据并提取所需的信息,同时也引入了类图和序列图这两种 UML 图示工具,以使我们的理解更加系统化。在实际项目中,JSON 常常被用来配置文件、API 接口的数据传输等场景。希望本文能够帮助你在 Python 中轻松处理 JSON 数据,提升你的编程技能。