一、一句话核心区别
字典 = Python 里的一种数据类型(内存里的对象)JSON = 跨语言的字符串格式(用来传输、存储的文本)
一个是代码里的东西一个是字符串文本
二、最直观的对比(一看就懂)
1. 字典(Python dict)
python
运行
# 这是字典 { "name": "小明", "age": 18, "is_student": True }特点:
- 是Python 对象
- 运行在内存里
- 可以直接用
dict["name"]取值 - 布尔值是
True / False(大写 T/F) - 可以存任意类型:列表、函数、对象…
2. JSON(字符串)
json
'{ "name": "小明", "age": 18, "is_student": true }'特点:
- 本质是字符串(外面有引号)
- 跨语言:Java/JS/PHP/Python 都能用
- 只能存:字符串、数字、布尔、列表、字典、null
- 布尔必须小写:true /false
- 不能存函数、对象、类
三、最关键的 4 个不同点(必记)
1. 引号
JSON:
字符串必须用双引号表示。例如: {“name”: “John”, “age”: 30}
字典:
在Python中,字符串可以用单引号或双引号表示。例如: {‘name’: ‘John’, ‘age’: 30} 或 {“name”: “John”, “age”: 30}
- 字典:可以用单引号 / 双引号
- JSON:必须双引号,单引号会报错
2. 布尔值
- 字典:
True/False - JSON:
true/false
3. 空值
- 字典:
None - JSON:
null
4. 用途
- 字典:代码里用
- JSON:传输 / 存储用(接口、文件、网络抓包)
四、它们的关系(最重要!)
字典 ←转→ JSON 字符串
Python 里用两个方法:
字典 → JSON(转字符串)
python
运行
import json json_str = json.dumps(字典)JSON → 字典(转回对象)
python
运行
字典 = json.loads(json_str)一句话:抓包看到的是 JSON 字符串Python 处理时要转成字典