迁移指南 - Anki 导入 JSON

如何将 JSON 闪卡数据导入 Deckbase

JSON 是结构化数据的通用语言。如果你的卡片存放在 API、数据库或自定义应用中,本指南将帮助你精准地把 JSON 字段映射到 Deckbase 卡片。

Deckbase7 分钟阅读

何时使用此工作流

适合从自定义工具、API 或程序化卡片生成器迁移,并且需要对导入进行 schema 级别控制的开发者和高级用户。

请将此视为一项可操作的迁移流程,而不只是一次性文件上传。目标不仅是成功导入,还包括在切换后的数周内获得更好的复习一致性并降低卡片维护开销。

导入前检查清单

  • JSON 文件使用对象数组,并且每张卡片的正面和背面键名保持一致。
  • 字符串均为有效的 UTF-8,且不包含未转义的控制字符。
  • 标签和笔记等可选字段在所有对象中使用可预测的键名。

如果某项检查清单未通过,请在导入前修复。上游清理比迁移后修复数百张卡片更快。

分步迁移流程

  1. 1
    使用 linter 校验 JSON 结构,并确认每个对象都包含必需的正面和背面键。
  2. 2
    确定映射关系:哪些键作为卡片正面、背面、标签和笔记。
  3. 3
    用 10 个对象运行一次小型测试导入,并检查卡片渲染效果。
  4. 4
    修复编码问题或扁平化错误的嵌套对象。
  5. 5
    导入完整数据集,并核对卡片总数是否与预期行数一致。

常见错误与解决方法

嵌套对象被扁平化为 [object Object]

导入前将嵌套字段预处理为纯字符串。

Unicode 转义序列未正确渲染

上传前将 \uXXXX 转义转换为实际的 Unicode 字符。

部分对象缺少必需键

过滤或修补不完整的对象,确保每张卡片都有正面和背面。

字段内的数组被当作字符串处理

用逗号连接数组值,或拆分为单独的标签条目。

每次修复后先使用小型试点牌组。如果试点质量稳定,再将相同的修正模式应用到整批数据。

输出质量检查示例

  • Front: 什么是 JSON Schema? | Back: 一种定义 JSON 文档有效结构的词汇表。
  • Front: JSON 数组和对象有什么区别? | Back: 数组是有序列表;对象是无序键值集合。
  • Front: 为什么导入前要校验 JSON? | Back: 提前校验可以防止出现格式错误的卡片,并避免大规模导入失败。

在质量检查期间,逐张验证示例卡片是否清晰、单一且答案准确。避免导入只考查措辞而不考查理解的卡片。

一个实用测试:如果在复习时能在 10 秒内准确作答,这张卡片通常范围恰当。如果不能,请拆分或重写它。

常见问题

我可以直接从 REST API 导入 JSON 吗?

先将 API 响应保存为 .json 文件,校验后再导入 Deckbase。

如果我的 JSON 使用 camelCase,而 Deckbase 期望 snake_case 怎么办?

导入时显式映射键即可;字段名不需要完全一致。

支持大型 JSON 文件吗?

支持,但请先用小部分数据测试,确认 schema 对齐和渲染正常。

将结构化 JSON 数据导入 Deckbase

一次配置好 schema 映射,用试点数据验证,然后迁移完整卡片库。

提示:对于高级工作流,请保留原始导出文件作为备份,并按批次名称和日期跟踪每次迁移尝试。

定位的查询意图:Anki 导入 JSON。本指南作为实用迁移工作流页面进行审核,而非通用信息文章。