JSON 格式化

即时格式化、校验并压缩 JSON。

粘贴你的 JSON

data.json
已准备好。粘贴 JSON 后选择操作。

你的 JSON 会在浏览器本地处理,不会上传到 BroBroGo。

常见问题

我的 JSON 会被上传吗?

不会。格式化逻辑在你的浏览器里运行,不会上传你的 JSON。

压缩 JSON 是什么意思?

压缩会移除多余空格和换行,但不会改变 JSON 数据本身。

什么是 JSON 格式化工具

“JSON 格式化”是一款功能强大的在线工具,旨在帮助用户对 JSON 数据进行格式化、校验和压缩。无论您是需要将杂乱无章的配置数据整理得井井有条,还是需要对 API 响应进行快速排查,本工具都能提供直观且高效的解决方案。

用户可以直接在输入区域中“粘贴你的 JSON”,也可以通过点击“打开文件”按钮或直接拖拽来载入 .json.txt 文件。工具支持对数据进行不同缩进级别的格式化排版,去除无用字符以进行压缩,或者对键名进行排序。此外,工具还提供了交互式的“树形”视图,方便用户层层探索复杂的 JSON 结构,并支持复制特定路径或直接下载处理后的结果。

导入与文件限制

在使用本工具导入数据时,请注意以下规则与系统限制:

  • 文件格式与编码:工具仅支持 .json.txt 文件。如果选择了其他格式,系统会提示“不支持的文件类型,请选择.json 或.txt 文件。”。同时,文件必须采用 UTF-8 编码,否则会触发“该文件不是 UTF-8 文本,无法在这里打开。”的提示。
  • 文件大小与读取限制:工具的最大输入限制为 10 MiB。如果文件超过此限制,将无法打开并显示“文件太大,上限为 ‹limit›。”。若输入内容超过系统处理极限,则会提示“输入超过 ‹limit›,超出了本工具能处理的范围。”。如果文件在读取时发生未知错误,会显示“无法读取该文件。请重新选择一次。”。
  • 性能与超时:为了保证浏览器的响应速度,本工具的同步处理阈值为 250,000 个字符。如果校验 JSON 的时间过长,系统会中止操作并提示“校验该 JSON 耗时过长,已被中止。请改用更小的文档。”。

语法校验与常见错误定位

当您粘贴或载入数据后,工具会自动进行实时校验。如果 JSON 有效,状态栏会显示“JSON 有效”;若数据存在语法问题,则会显示“JSON 格式无效” [接口] 并精准指出错误位置,例如“第 ‹line› 行,第 ‹col› 列”,用户可点击“跳转到错误”按钮快速定位。

本工具能够识别并指出以下具体的 JSON 语法错误:

  • 条目之间缺少逗号
  • 收尾括号前多了一个逗号
  • 对象的键必须用双引号包裹
  • 属性名后缺少冒号
  • 有一个字符串缺少收尾引号
  • JSON 提前结束,看起来被截断了
  • 应为值的位置出现了意外字符
  • 该 JSON 嵌套太深,无法处理
  • ‹key› 重复,请先删除一个再格式化(本工具在遇到重复键时会直接报错,而不会默默合并或丢弃数据)。

非标准 JSON 的检测与自动修复

除了严格的语法校验,本工具还能智能检测多种常见的非标准 JSON 变体,并提供一键修复方案:

  • Markdown 代码围栏:检测到“这看起来是包在 Markdown 代码围栏里的 JSON。”,应用修复时“应用后只保留围栏内的 JSON。”。
  • 转义字符串:检测到“这看起来是被转义成字符串的 JSON。”,应用修复时“应用后会把字符串解转义为普通 JSON。”。
  • Python 字典:检测到“这看起来是 Python 风格的字典,而不是 JSON。”,应用修复时“应用后会把引号和 True/False/None 改写为 JSON。”。
  • JSON Lines:检测到“这看起来是 JSON Lines——每行一个值。”,应用修复时“应用后会把各行包装成一个 JSON 数组。”。
  • JSONP 回调:检测到“这看起来是被 JSONP 回调包裹的 JSON。”,应用修复时“应用后会移除回调包装。”。
  • JSONC 格式:检测到“这看起来是 JSONC——含注释或尾逗号。可把语法切换为 JSONC,或应用修复。”,应用修复时“应用后会移除注释和尾逗号。”。

用户可以点击“预览修复”查看“原文”与“修复后”的对比。在“修复预览”窗口中,如果修改范围过大,会提示“预览已截断——修复会作用于整个文档。”。确认无误后点击“应用修复”即可,系统会提示“已应用修复。按 Ctrl/Cmd+Z 可撤销。”。若无法自动处理,则会提示“无法自动修复此输入。”。

视图模式与数据探索

本工具提供“代码”和“树形”两种视图来展示数据:

  • 代码视图:以纯文本形式展示 JSON。在此视图下,您可以选择不同的“缩进”级别进行“格式化”或执行“压缩”。此外,点击“键排序”可以“递归按码位顺序对对象键排序,数组顺序保持不变。”。排序完成后会提示“键已排序——数组顺序不变。按 Ctrl/Cmd+Z 可撤销。”。本工具在处理时会完好保留大整数,确保数据无损。
  • 树形视图:提供交互式的“JSON 树形”结构。如果 JSON 无效,该视图会提示“JSON 有效后才能查看树形视图。”;若数据体量过大,则会提示“该 JSON 太大,无法渲染为树形视图。”或“该 JSON 的值太多,无法渲染为树形视图。”。
  • 树形操作与搜索:在树形视图中,用户可以使用“全部展开”和“全部折叠”功能。对于超大型 JSON,展开时会受到限制并提示“该 JSON 太大,无法完全展开,只显示前 ‹count› 行。”,用户可点击“再显示 ‹count› 项…”逐步加载。您还可以通过“搜索键和值”框进行检索,系统会显示匹配进度(如“第 ‹current› 个,共 ‹total› 个”或带限制的“第 ‹current› 个,共 ‹total›+ 个”),并提供“上一个匹配”和“下一个匹配”按钮。
  • 节点复制:在树形视图的“root”根节点或任意子节点上 [接口],点击“‹key› 的复制选项”菜单,可以选择“复制值”、“复制 JSON Pointer”或“复制 JSONPath”。

隐私安全说明

你的 JSON 会在浏览器本地处理,不会上传到 BroBroGo [接口]。所有的格式化、校验、压缩和修复逻辑均在您的本地浏览器内安全运行 [接口]。

常见问题

我的 JSON 会被上传吗?

不会 [接口]。格式化逻辑在你的浏览器里运行,不会上传你的 JSON [接口]。

压缩 JSON 是什么意思?

压缩会移除多余空格和换行,但不会改变 JSON 数据本身 [接口]。