通过 URL 分享结果

Compare JSON 可以将对比输入编码到 URL 查询参数中,让你无需通过服务器发送 JSON,就能与团队成员分享差异结果,或从文档中链接到某个对比。

URL 分享原理

所有分享都通过 /result 页面完成。该页面会读取 basecontrast 查询参数,解码后自动运行对比。

https://comparejson.com/result?base=...&contrast=...

由于对比在浏览器中运行,分享的 URL 包含原始数据,而不是服务器端快照。

方法一:Base64 编码 JSON

将每个 JSON 值编码为 Base64 字符串,直接放入 URL。

https://comparejson.com/result?base=eyJiYXNlIjoiYmFzZSBiYXNlNjRTdHJpbmcifQ==&contrast=eyJjb250cmFzdCI6ImNvbnRyYXN0IGJhc2U2NFN0cmluZyJ9

这个例子使用了首页展示的相同 Base64 载荷。你可以使用 base-64.com 编码自己的 JSON。这种方式自包含,适用于任何可以 Base64 编码的 JSON。需要注意的是,非常大的 JSON 值会生成很长的 URL。

方法二:远程 JSON URL

basecontrast 参数中传入可公开访问的 JSON 文件 URL。

https://comparejson.com/result?base=https://comparejson.com/example_data/demo.base.json&contrast=https://comparejson.com/example_data/demo.contrast.json

结果页加载时会抓取两个 URL 并对比其中的 JSON 内容。这个例子使用了首页链接的相同演示文件。这种方式 URL 更短,适合分享存储在版本控制或云存储中的文件对比。

安全与隐私

  • 分享的 URL 包含 JSON 数据或指向数据的链接,请只分享给需要访问的人。
  • 远程 JSON 文件必须可公开访问,并配置适当的 CORS 响应头。
  • Compare JSON 不会在服务器上存储对比输入,URL 是唯一的数据传递方式。