一个基于 JSON 维护的二次元角色 / 作品资料库。
目前这些数据集还在陆续补充,并不完善,很多角色的声优(cv)字段以及作品的首映年份(year)和 赛季(season)都没补充,并且有些角色名或作品名存在翻译问题。
默认按照A-Z排序。
个人网站,作品集,遗书:https://hatsusumi.github.io/FinalTestamentProofILived/
这个仓库目前以静态数据文件为核心,适合:
- 公开分发数据
- 本地检索和二次处理
- 前端项目直接读取 JSON
- 用脚本做数据校验和索引生成
作品(IP)主数据。
这个文件保存每一个作品 / 系列的基础信息,例如:
id:作品唯一 IDname:作品中文名 / 当前主显示名称name_en:作品英文名;如果作品标题本身就是拉丁字母标题,可先与name相同year:首映的年份,通常是第一季首映的年份season:首映的赛季
它相当于这套数据里的“作品表”。
角色主数据。
这个文件保存每一个角色的核心资料,例如:
id:角色唯一 IDname:角色中文名name_en:角色英文名 / 罗马音ip_id:所属作品 IDcv:声优列表avatar:角色头像 URL
其中 cv 使用字符串数组表示:
"cv": ["花泽香菜"]如果有多个声优,则写成:
"cv": ["声优A", "声优B"]它相当于这套数据里的“角色表”,并通过 ip_id 与 ip-data.json 建立关联。
角色查询索引。
这个文件用于把:
角色名@作品名
映射到:
角色 ID
例如:
{
"立华奏@Angel Beats!": "char_000007"
}它的主要作用是提供快速精确查找,避免每次都遍历 characters-data.json。
说明:这个文件是派生索引文件,推荐通过脚本自动生成,而不是手动维护。
数据校验脚本。
这个脚本用于检查当前 JSON 数据是否一致、完整、可用。它会验证例如:
- JSON 顶层结构是否正确
- 对象键和内部
id是否一致 characters-data.json中的ip_id是否存在character-lookup.json中的角色 ID 是否存在- lookup 键是否符合
角色名@作品名规则 cv是否为字符串数组avatar是否是合法 URL
运行方式:
node validate-data.js角色索引生成脚本。
这个脚本会根据:
ip-data.jsoncharacters-data.json
自动生成:
character-lookup.json
支持两种模式:
node generate-character-lookup.js --checknode generate-character-lookup.js --write推荐在修改作品或角色数据后运行一次。
当你修改了 ip-data.json 或 characters-data.json 后,建议按以下顺序处理:
node generate-character-lookup.js --writenode validate-data.js这样可以保证主数据和查询索引始终保持一致。
这套数据目前可以理解为:
ip-data.json:作品主表characters-data.json:角色主表character-lookup.json:查询索引表
其中:
- 一个角色通过
ip_id关联到一个作品 - 一个 lookup 条目通过
角色名@作品名映射到角色 ID
这个仓库更适合以下场景:
- 公开二次元角色资料数据
- 静态站点直接读取
- 前端项目内嵌使用
- 数据分析前的轻量原始数据源
- 个人或小规模维护的数据集