展开本页目录
开始前准备什么
- 先下载并解压本题工程,在独立练习目录保留starter、reference和原始输入。
- 本地参考主要需要Python 3与现代桌面浏览器;涉及Chrome扩展、LibreOffice、Git时按本文单独要求准备。
- 目标工具账号、模型额度与平台导入能力由读者另行确认;本文实际运行范围见执行记录,不自动调用付费服务。
- 把两版配置和期望差异表交给Claude Code
- 生成双栏粘贴界面
- 实现JSON路径和新增、删除、修改、类型改变的差异集合
- 修复依赖真假值判断导致0、false、null与缺失混同的问题
- 实现差异筛选与JSON下载
- 在浏览器逐项核对已知差异
- 运行独立期望表对比
starter、七步任务、原始输入、人工完成的可运行参考、真实运行结果与独立验收;不含账号、数据库或缓存。
原生账号任务、本地工程运行和官方示例分开说明。
1. 把两版配置和期望差异表交给Claude Code
把两版配置和期望差异表交给Claude Code,约定对象按键、数组按索引比较。
input-a.json/input-b.json含0、false、null、删除字段、嵌套新增和数组交换;不要先把它们都转成字符串。
2. 生成双栏粘贴界面
生成双栏粘贴界面,解析失败时显示文件侧别和错误位置。
双栏界面各保留一份原文。故意把右栏改成 {bad 并点击比较,应指出解析失败且保留输入。
3. 实现JSON路径和新增、删除、修改、类型改变的差异集合
实现JSON路径和新增、删除、修改、类型改变的差异集合。
对象按键比较,数组按索引。输出使用 $.profile.active、$.tags[0] 等路径,类别为added/deleted/changed/type。
4. 修复依赖真假值判断导致0、false、null与缺失混同的问题
修复依赖真假值判断导致0、false、null与缺失混同的问题。
用 Object.hasOwn 判断字段是否存在,不能写 if(value)。例如旧limit是0、新limit是null,必须报告类型改变。
5. 实现差异筛选与JSON下载
实现差异筛选与JSON下载,原始输入保持不动。
点击“下载差异JSON”得到diff.json。记录before/after时,缺失用显式missing标记,不能和JSON null混同。
独立目录练习命令
python3 -m http.server 8073 --directory reference6. 在浏览器逐项核对已知差异
在浏览器逐项核对已知差异,核对嵌套路径和数组变化。
点击对比后核对初始9处差异;再用空对象与 {"zero":0,"no":false,"empty":null} 检查三个独立新增字段。
7. 运行独立期望表对比
运行独立期望表对比,并重新导入下载结果检查统计。
解码实际下载JSON,与页面差异列表逐项回读。这个工具不是JSON Schema验证器,也没有承诺按业务ID合并数组。
怎样确认已经完成
- 已知字段的missing/null/0/false各自保留,不互相合并。
- 数组按索引的约定在UI明确显示;交换元素会产生对应差异。
- 语法错误不会覆盖上一份输入;导出记录的路径、类型与数量和真值表一致。
常见问题
两份JSON哪里不一样,能让AI做个看得懂的对比页面吗?
双栏界面各保留一份原文。故意把右栏改成 {bad 并点击比较,应指出解析失败且保留输入。 点击“下载差异JSON”得到diff.json。记录before/after时,缺失用显式missing标记,不能和JSON null混同。
为什么程序把0和false都当成没填?
用 Object.hasOwn 判断字段是否存在,不能写 if(value)。例如旧limit是0、新limit是null,必须报告类型改变。 解码实际下载JSON,与页面差异列表逐项回读。这个工具不是JSON Schema验证器,也没有承诺按业务ID合并数组。
下载包哪些内容已实际运行,哪些需要自己在原生工具中验证?
已实际比较9处差异、测试语法错例与0/false/null新增,真实下载并回读JSON;Claude Code会话未执行。 官方图片只证明所标入口或设置,不是本站原生任务执行截图。



