# 1.什么是 json

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于将数据从一个应用程序传输到另一个应用程序。它基于 JavaScript 的对象字面量语法,但已成为一种独立于编程语言的通用数据格式。

JSON 使用键值对的方式组织数据,其中键是字符串,值可以是字符串、数字、布尔值、对象、数组或 null。以下是一个简单的 JSON 示例:

{
  "name": "John",
  "age": 30,
  "city": "New York",
  "isStudent": false,
  "hobbies": ["reading", "traveling", "photography"],
  "address": {
    "street": "123 Main St",
    "city": "New York",
    "zip": "10001"
  }
}
1
2
3
4
5
6
7
8
9
10
11
12

在这个示例中,有多个键值对组成一个 JSON 对象。例如,"name"键的值是字符串"John","age"键的值是数字 30,"isStudent"键的值是布尔值 false,"hobbies"键的值是一个包含多个字符串的数组,"address"键的值是一个嵌套的 JSON 对象。

JSON 具有以下特点:

  • 简洁性:JSON 使用简洁的文本格式表示数据,易于阅读和编写。
  • 可读性:JSON 数据易于理解和解析,适用于人类和机器。
  • 可扩展性:JSON 支持嵌套结构,可以创建包含复杂数据层次结构的对象。
  • 平台无关性:JSON 是独立于编程语言和平台的数据格式,可以在不同的应用程序和系统之间进行交互。

# 2.解析 JSON 数据

在 Python 中,处理 JSON(JavaScript Object Notation)数据非常方便,有内置的库json可用于解析和生成 JSON 数据。

解析 JSON 数据:

import json

json_data = '{"name": "John", "age": 30, "city": "New York"}'
data = json.loads(json_data)

print(data["name"])  # 输出: John
print(data["age"])   # 输出: 30
print(data["city"])  # 输出: New York
1
2
3
4
5
6
7
8

在这个示例中,json.loads()方法将 JSON 字符串解析为 Python 字典对象。

# 3.生成 JSON 数据

import json

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

json_data = json.dumps(data)
print(json_data)  # 输出: {"name": "John", "age": 30, "city": "New York"}
1
2
3
4
5
6
7
8
9
10

在这个示例中,json.dumps()方法将 Python 字典对象转换为 JSON 字符串。

# 4.从文件读取 JSON 数据

import json

with open("data.json") as file:
    data = json.load(file)

print(data)
1
2
3
4
5
6

这个示例中,json.load()方法从文件中读取 JSON 数据,并将其解析为 Python 对象。

# 5.将 JSON 数据写入文件

import json

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

with open("data.json", "w") as file:
    json.dump(data, file)
1
2
3
4
5
6
7
8
9
10

这个示例中,json.dump()方法将 Python 对象写入文件,以 JSON 格式保存。

这些是一些基本的 JSON 用法示例。json库还提供了其他功能,例如处理嵌套 JSON 结构、处理 JSON 数组等。您可以参考 Python 官方文档中的json模块部分获取更详细的信息。

上次更新: 11/3/2024, 10:37:37 AM