study-dy 词库导入规范 · 最后更新 2026-08-09
JSON 文件的根节点是一个数组,每个元素是一个词条对象。
[
{ "id": "...", "text": "...", ... },
{ "id": "...", "text": "...", ... }
]
MyWords.json 导入后所有词条的标签是 "MyWords"。
如果你想用 KET/PET 等考试标签,建议文件名就是 KET.json / PET.json。
| 字段名 | 必填 | 类型 | 说明 |
|---|---|---|---|
id |
必填 | string | 唯一标识符,用于去重和数据库存储。建议用 考试_类型_词缀 格式,如 ket_prefix_un |
text |
必填 | string | 词根/词缀本身,如 "un-"、"re-" |
meaning |
必填 | string | 中文释义(核心意思),如 "不;没有;相反" |
type |
选填 | string | 类型,必须是 "prefix"、"root"、"suffix" 之一。影响学习时的选项生成 |
example |
选填 | string | 例词(英文),如 "unhappy" |
exampleMeaning |
选填 | string | 例词的中文释义,如 "不开心的"。无值就不显示,可以跟 example 一起省略 |
difficulty |
选填 | number (1-5) | 难度等级,1=最简单,5=最难。缺省时按 1 显示 |
tags |
选填 | string[] | 考试标签数组,如 ["KET", "PET"]。缺省时使用 ["默认"] |
null。前端会自动隐藏对应行(如无 exampleMeaning 就不显示)。
[
{
"id": "ket_prefix_un",
"type": "prefix",
"text": "un-",
"meaning": "不;没有;相反",
"example": "unhappy",
"exampleMeaning": "不开心的",
"difficulty": 1,
"tags": ["KET"]
},
{
"id": "ket_prefix_re",
"type": "prefix",
"text": "re-",
"meaning": "再;重新;回",
"example": "rewrite",
"exampleMeaning": "重写",
"difficulty": 1,
"tags": ["KET"]
}
]
[
{
"id": "word_001",
"text": "un-",
"meaning": "不;相反"
}
]
这种写法也能用,但前端只显示 un- + 不;相反,不显示例词/难度/标签。
[
{
"id": "word_002",
"text": "re-",
"meaning": "重新",
"example": "rewrite"
}
]
只显示例词不显示中文释义,前端不会报错。
Prefix / 前缀 等 → 不识别,按无 type 处理{"words": [...]} → 不识别APP_DATA,可在"我的词库"看到tags 缺省)制作 JSON 文件可以用:
json.dump(data, f, ensure_ascii=False, indent=2)(保留中文)