1. 数据类型
- 字典:是 Python 中的一种内置数据类型,用于存储键值对,语法类似于 JSON,但并不是严格的文本格式。
- JSON:是一种轻量级的数据交换格式,用于跨语言、跨平台传输和存储数据,完全以字符串形式表示。
2. 表示形式
字典(Python 格式):
- 使用单引号
'
或双引号"
包裹键和值。 - 键可以是字符串、整数、浮点数等(不强制为字符串)。
- 值可以是 Python 支持的多种类型(字符串、整数、浮点数、列表、布尔值、对象等)。
示例:Python 字典
data_dict = {
'name': 'Alice',
'age': 25,
'is_student': False,
'grades': [90, 80, 85],
'address': {
'city': 'New York',
'zip': 10001
}
}
JSON(严格格式):
- JSON 的键必须是 字符串,用双引号
"
包裹。 - 值必须是以下几种类型:字符串、数字、布尔值(
true
或false
)、数组(列表)、对象(字典)或null
。 - JSON 是纯文本数据,通常用于数据交换。
示例:JSON 文本
{
"name": "Alice",
"age": 25,
"is_student": false,
"grades": [90, 80, 85],
"address": {
"city": "New York",
"zip": 10001
}
}
3. 数据用途
- 字典:
- 用于 Python 内部数据操作和存储,便于程序逻辑处理。
- 不能直接用于跨平台或跨语言数据传输。
- JSON:
- 是一种标准化的文本格式,常用于 Web 应用、API 通信和跨语言数据交换。
- 可以存储和传输更广泛的类型系统数据。
4. 与代码的交互
- 字典:可以直接用 Python 操作(如添加、删除键值对),不需要额外处理。
- JSON:需要通过 Python 的
json
模块解析(json.loads
将 JSON 转为字典)或生成(json.dumps
将字典转为 JSON)。
转换示例:字典 ↔ JSON
import json
# Python 字典
data_dict = {
'name': 'Alice',
'age': 25,
'is_student': False
}
# 转为 JSON 格式
json_text = json.dumps(data_dict, indent=4)
print(json_text)
# 输出:
# {
# "name": "Alice",
# "age": 25,
# "is_student": false
# }
# JSON 转为字典
data_from_json = json.loads(json_text)
print(data_from_json)
# 输出: {'name': 'Alice', 'age': 25, 'is_student': False}
5. 格式上的严格性
- 字典:更灵活,允许键不是字符串,允许值为任何 Python 对象。
- JSON:更严格,键必须是字符串,值的类型受限制,布尔值必须是
true
或false
,不区分大小写。
6. 用途
字典 | JSON |
---|---|
Python 内部数据结构 | 数据交换格式 |
只能在 Python 内部使用 | 跨语言、跨平台传输 |
动态数据处理 | 存储和传输静态结构化数据 |
总结:
- 字典 是一种 Python 的数据类型,适合在程序中处理和操作数据。
- JSON 是一种严格的、跨平台的文本格式,适合存储和传输数据。
两者可以通过 Python 的json
模块相互转换。