记录卷轴
Hoppy 打开数据柜的第一层抽屉,里面放着一张真正的记录卷轴。这次信息不是散落在普通文本里,也不是藏在函数里,而是被整理成了一份 JSON:一种专门用来装结构化记录的格式。
今天我们只做两件很小的事:先看懂 JSON 的形状,再从里面读取几个简单字段。你会发现,这一步和读 Python 里的 dict 很像。
JSON 的外形,常常很像 Python 的 dict / list
JSON 本质上就是把数据按清楚的结构排好。看到花括号 { ... } 时,你通常是在看一种很像 Python dict 的对象形状;看到方括号 [ ... ] 时,它又很像列表 list。
{
"scroll_title": "Lantern Arrival Log",
"seal_count": 3
}
["lantern", "moon", "fern"]
这里先不用背一大套定义。现在最值得带走的第一印象只有一个:JSON 是一种保存结构化数据的方式,而当 Python 把它读进来后,你看到的形状往往会很熟悉。
今天只做一件小读取:从一份平平的 JSON 记录里拿出几个顶层字段
真正的 starter 已经帮你处理好了“打开文件并读入 JSON”这一步。在碰真实记录之前,先拿一个已经长得像“读入后数据”的玩具对象练习一下更小的动作:用方括号读取几个有名字的字段。
camp_note = {
"camp_name": "Moss Lantern Camp",
"guide": "Pip",
"day_count": 2
}
camp_name = camp_note["camp_name"]
guide = camp_note["guide"]
print("Camp name:", camp_name)
print("Guide:", guide)
这就是你今天真正需要掌握的读取动作。只要 Python 已经把 JSON 文件读进某个变量,接下来其实就是按键名把值拿出来。真正的任务里,你会在 starter 给好的记录上读取三个字段;而这里先用玩具例子,把“按键取值”这个核心动作单独看清楚。
starter 已经读取并打印了 scroll_record。先运行一次,看看整份记录的样子,再开始拆出其中的字段。
把 scroll_title、keeper_name、seal_count 分别设成 scroll_record 里的对应值。今天就用最直接的方括号读取法。
运行后,你会先看到完整记录,再看到三个被读出来的小字段。这就是本课最核心的动作:先看懂记录的形状,再按名字拿出需要的部分。
这是第一节 JSON 课,重点只有“结构化记录长什么样”和“怎么读取简单顶层字段”。现在还不进入 API、JSON schema,也不做更深的嵌套读取。
参考答案点击展开点击收起
import json
with open("scroll_record.json", "r", encoding="utf-8") as file:
scroll_record = json.load(file)
print("Scroll record:", scroll_record)
scroll_title = scroll_record["scroll_title"]
keeper_name = scroll_record["keeper_name"]
seal_count = scroll_record["seal_count"]
print("Scroll title:", scroll_title)
print("Keeper name:", keeper_name)
print("Seal count:", seal_count)高级技巧想更进一步?点击展开点击收起
今天最重要的收获,不是背下 json 模块的名字,而是建立一个很轻松的第一反应:JSON 文件可以只是一份有结构的记录,你可以像读字典一样,一项一项把字段取出来。
下一课才会让记录的形状稍微再深一点。现在先把“一份平的 JSON 记录 + 三个简单字段读取”这一步走稳,就已经很够了。