数据处理 · 更新于 2026-11-05 · 9 分钟阅读
文本、JSON、Word 和文件应该怎样比较
文本内容相同、JSON 语义相同和文件字节相同是不同结论。先按任务选择比较方式,再看差异路径或原始文件指纹,不能用一种结果替代另一种判断。
操作步骤
1. 明确需要比较的对象
文案和日志适合按行比较,接口数据适合按 JSON 结构比较,发布文件和重复文件核对适合直接比较文件字节。文本导入可能移除 BOM 或规范化换行,不应代替原始文件哈希。
2. 对照文本原文和忽略规则
在文本工具左右粘贴或导入 UTF-8 文本,检查新增、删除和修改行。默认区分大小写和空白,可按需忽略行首尾空白或英文大小写。CRLF、CR、LF 统一比较,末尾是否存在换行仍有区别。每侧最多 10 万字符、5000 行,复杂差异超限会提示分段,而非返回不完整成功结果。
3. 区分 JSON 值变化与类型变化
在 JSON 深度对比中,数字 1 和字符串“1”属于类型变化;对象字段顺序不同不会报差异;数组按索引比较,插入元素可能使后续多个位置变化。新增或删除一个对象子树按一项记录,不会把它错误地当成多个独立业务事件。
4. 核对数字精度和字段路径
工具按数字原文精确比较,9007199254740993 和 9007199254740994 不会因 JavaScript 浮点精度被误判相同;1、1.0 和 1e0 视为同值。字段路径采用 JSON Pointer:斜线写为 ~1,波浪号写为 ~0,空路径代表根节点。重复字段和无效 JSON 会明确报错。
5. 对比 Word 正文与表格文字
Word 文档对比需要上传两份 .doc/.docx,服务器临时解析正文与表格文字,不永久保存。每份最大 20 MiB,提取文字最多 10 万字符、5000 行,超限报错而非截断。可忽略行首尾空白、英文大小写或空行,逐处定位差异,并下载含完整文字的 JSON 报告。图片、格式、页眉页脚、批注、注释、文本框与嵌入对象不参与对比;未处理修订需先接受或拒绝。
6. 校验文件而不是文件名称
文件哈希工具可选择或拖入一到两个任意格式文件,默认 SHA-256,也支持 SHA-384 和 SHA-512。按固定大小分块读取原始字节,不上传、不解码文本,单文件最大 1 GiB。修改文件名不改变字节摘要;BOM、换行或元数据改变则通常会改变摘要。可取消并重新开始计算。
7. 保留报告并理解判断边界
文本和 JSON 结果支持筛选分页;Word 使用连续的并排全文视图,可搜索、定位上一处或下一处差异、展开和复制完整文字,长行横向滚动。完整 JSON 报告保留未被界面截短的值,不受筛选影响。文件指纹核对需使用相同算法并保留原件;一致不证明作者、来源、合法授权或文件安全,不能当作司法鉴定结论。
实例与预期结果
两份 Word 的价格与交付日期变化
自行新建两份 .docx,分别写入下方两组文字;合成内容不包含真实业务信息。
- Word 文档对比
- 左侧:原始文档,右侧:修改后文档
- 先关闭忽略规则
示例输入 / 准备
左侧: 项目:设备维护 价格:100 元 右侧: 项目:设备维护 价格:120 元 交付:周五
预期结果 / 核对项
并排文字视图标记价格行的修改及交付行的新增。 左右分别保留提取后的行号;可跳转上一处/下一处差异、搜索、复制全文及下载完整报告。
每份最大 20 MiB;只比较正文与表格文字,不比页眉页脚、批注、图片、版式等。提取后的换行不等于 Word 页码。

JSON 字段值和类型变化
对象键顺序不参与比较,数组按索引比较。
- JSON 深度对比
- 左、右分别粘贴有效 JSON
示例输入 / 准备
左侧: {"price":100,"id":1}
右侧: {"id":"1","price":120}预期结果 / 核对项
/price: 数字值由 100 变为 120 /id: 类型由数字变为字符串
1 与 1.0 视为同值,但 1 与 "1" 不同。路径采用 JSON Pointer;完整报告不受当前筛选和分页影响。
同名文件也要核对原始字节
本地选择文件 A,可选文件 B;原文件不会上传。
- 文件哈希校验
- SHA-256
- 需要时展开已有指纹核对
示例输入 / 准备
文件 A: 任何本地样例文件 文件 B: 文件 A 的原样副本
预期结果 / 核对项
原样复制且字节未变时:两个 SHA-256 一致。 修改文本、换行或元数据后:通常不同。
单文件最大 1 GiB。文件名相同不证明内容相同;指纹相同也不能证明来源、安全或真实性。
遇到问题怎么办
Word 无法比较或提示修订
可能原因:文件可能加密、含未处理修订、格式不支持,或超过 20 MiB/10 万字符/5000 行限制。
处理方法:保留原件,在 Word 中处理修订并另存受支持副本;超限时按有意义的章节分段。不应将解析失败视为内容相同。
肉眼相同却出现文本差异或文件哈希不同
可能原因:可能存在空白、末尾换行、编码、元数据或未参与文字比较的对象差异。
处理方法:按目的选择文本、JSON、Word 或字节哈希。记录忽略规则,不为消除差异而随意改原文件。
风险与限制
- 文本、JSON 和文件哈希在浏览器本地处理;Word 文档则上传服务器临时解析。不保存浏览器历史,报告可能含敏感文字和文件名,请妥善保管。
- JSON 不忽略数组顺序,不自动把字符串转换成数字;极端数字指数或超过 5000 项差异时会拒绝比较。
- 文本和 JSON 表格的长单元格只预览前 1000 字符;Word 并排视图保留全文、长行横向滚动,复杂长行可能按整行标记。完整值也可下载报告核对,Word 内容相同不代表格式、元数据或原始字节相同。
常见问题
JSON 对比相同为什么文件 SHA-256 不同?
JSON 对比忽略对象键顺序和数字写法等语义等价差异,文件哈希比较原始字节。排版、编码、BOM 和换行都可能使文件摘要不同。
文件名一样就一定是重复文件吗?
不是。文件名和大小都不能单独证明内容一致。使用相同哈希算法核对原始字节,仍应理解密码学摘要不能证明文件来源和真实性。
比较结果下载只包含当前页吗?
不是。报告使用完整比较结果,不受页面筛选和分页影响;单元格的预览截短也不会修改报告原值。