正在加载...

JSON

JSON 是文本。字典在程序里保存名称和值,但它还不是 JSON。dumps 会把字典变成一行文本。这一页不会打开文件,也不会构造路径。

字典变成一行文本

python
import json
lamp = {"color": "blue", "watts": 7}
text = json.dumps(lamp)
print(text)

屏幕上显示 {"color": "blue", "watts": 7}。color 和 blue 都在双引号里。watts 是数字,所以 7 没有引号。冒号后面的空格和逗号后面的空格,也都是这段文本的一部分。text 是字符串。没有创建任何文件。这个程序里没有 open,也没有 Path。

文本还原成字典

python
import json
text = '{"color": "blue", "watts": 7}'
lamp = json.loads(text)
print(lamp["color"])
print(lamp["watts"])

屏幕上先显示 blue,再显示 7。loads 读取 JSON 文本,把字典重新构造出来。lamp["color"] 的值是单词 blue,不带引号。lamp["watts"] 是数字 7,不是单词 7。这里没有读取任何文件,文本本来就放在变量里。

📊 dumps 和 loads

调用 起点 得到
json.dumps 一个字典 一行 JSON 文本,不会写入文件
json.loads JSON 文本 一个字典,不会读取文件

如果文本不是合法的 JSON,loads 会停住,这次停住的名字是 JSONDecodeError。{color: blue} 不是 JSON,因为名称和 blue 都没有双引号。这一行不在本页的程序里。不会用 None 代替,程序也不会继续往下运行。

下一页是 CSV 表格。这一页只做两件事:字典变成文本,文本变回字典。

先变文本,再变回字典

dumps 显示 {"color": "blue", "watts": 7}。接着 loads 显示 blue 和 7。7 是数字。写错的那一行会停在 JSONDecodeError。没有文件被写入,也没有文件被读取。下一页是 CSV 表格。

🧠 测试您的知识

准备开始

测试您的知识

通过这个互动测验挑战自己,看看你对这个主题的理解程度如何

❓
5
问题
🎯
70%
及格要求
♾️
∞
时间
🔄
∞
尝试次数

📝 说明

  • 仔细阅读每个问题
  • 为每个问题选择最佳答案
  • 您可以随时重新参加测验
  • 您的进度将显示在顶部