API 响应 JSON 格式化工具

粘贴来自浏览器网络面板、curl、Postman 或日志文件的响应。HTTP 响应头、JSONP 包装和双重编码的 JSON 都会被自动识别,大 ID 的每一位数字都会保留。

免费 · 无需注册

粘贴 JSON、打开文件或加载示例。结果会随输入实时更新。

结果
结果视图

      
      
    
格式

使用方法

  1. 复制响应。在 Chrome、Edge 或 Firefox 中打开开发者工具,在“网络”面板选中请求并复制响应内容。在终端中使用 curl -s,若要包含响应头则用 curl -i。
  2. 粘贴到输入框。响应头、JSONP 回调或以转义字符串形式保存的 JSON 会被去除或解码,并提示做了哪些处理。
  3. 切换到树形视图浏览嵌套数据。点击某个值即可看到它的路径,例如 $.data[0].attributes.email,可复制用于代码或 jq 过滤器。
  4. 复制或下载格式化后的 JSON,或选择“压缩”得到紧凑的请求体。

为什么使用这个工具

原始 HTTP 响应

直接粘贴带状态行和响应头的 curl -i 输出,工具会跳过响应头,只格式化响应体。

JSONP 与双重编码

自动去除 callback({...}) 包装,并把满是 \" 的 JSON 字符串解码成真正的 JSON。

64 位 ID 保持精确

大于 9,007,199,254,740,991 的 ID 会按服务器返回的原样显示,并提示 JavaScript 会将其四舍五入。

嵌套值的路径

点击树中的任意值即可复制路径,直接用于 JavaScript、jq 或测试断言。

重复键提醒

如果对象中有重复的键,会告诉你是哪个,因为大多数客户端只保留最后一个值。

真实响应也能放心用

全部在浏览器中运行。响应中的令牌、Cookie 和客户数据都不会被上传。

从哪里复制 API 响应

来源如何复制 JSON
Chrome、Edge、Firefox开发者工具(F12)› 网络 › 选中请求 › 响应 › 复制
Safari开发 › 显示网页检查器 › 网络 › 选中请求 › 响应
curl只要响应体用 curl -s https://api.example.com/items,包含响应头用 curl -i
Postman、Insomnia响应面板 › Body › Raw,然后复制
服务器日志复制整行日志。如果被截断,请直接打开日志文件。

为什么 API 响应难以阅读

API 通常返回压缩过的 JSON,没有空格和换行,因为这样体积更小、传输更快。于是包含数百条记录的响应会变成一行很长的文本。

格式化只增加缩进,不改变任何值,让你看清有哪些字段、数组如何嵌套,以及分页链接和错误详情在哪里。树形视图更进一步:可以折叠大数组,并显示每个数组包含多少项。

本页面能识别的问题

  • 响应体前面的 HTTP 响应头,例如来自 curl -i 或代理日志。
  • 旧版 API 返回的 JSONP,例如 callback({"items": []});。
  • 双重编码的 JSON:被服务器或日志工具转义了两次的字符串,例如 "{\"id\":1}"。
  • 重复的键,不同解析器对其处理方式不同。
  • 超出 JavaScript 数字精度的大整数,这是数据库和社交平台 ID 的常见问题。
  • 手写请求体中的语法错误,显示行号和列号,常见错误可一键修复。

JavaScript 中的大 ID

很多 API 返回 64 位整数 ID。JavaScript 只能精确表示不超过 9,007,199,254,740,991 的整数,所以 response.json() 会在不报任何错的情况下把 9007199254740993 变成 9007199254740992。

设计良好的 API 会以字符串形式返回这类 ID,例如 "id_str"。如果你的 API 没有这样做,请用支持 BigInt 的库解析响应,或请 API 提供方返回字符串 ID。本工具会显示准确的数字,帮你发现这个问题。

常见问题

可以粘贴带 HTTP 响应头的响应吗?

可以。如果文本以 HTTP/1.1 200 OK 这样的状态行开头,第一个空行之前的内容都会被视为响应头并跳过,只格式化响应体。

粘贴含有令牌或个人信息的响应安全吗?

页面在浏览器中处理所有内容,不会向服务器发送任何数据,所以数据只留在你的设备上。不过,与他人分享响应前,最好养成删除访问令牌的习惯。

为什么我的 JSON 到处都是 \"?

这段 JSON 被编码了两次,变成了包含 JSON 的字符串。本页面会自动解码。在你自己的代码中,可以调用两次 JSON.parse,或修改服务器,不要把数据再次转换成字符串。

什么是 JSONP?

JSONP 把 JSON 包在 JavaScript 函数调用中,例如 callback({...}),让旧浏览器可以从其他域名加载数据。现代 API 改用 CORS。本页面会去掉这层包装,方便你阅读数据。

路径怎么在代码里使用?

$.data[0].id 的意思是:取 data 数组的第一项,再取它的 id 字段。在 JavaScript 中写 response.data[0].id,在 jq 中写 .data[0].id。

能格式化 XML 或 GraphQL 响应吗?

GraphQL 响应本身就是 JSON,可以直接使用。XML 是另一种格式,本工具不支持。

相关工具

想开发什么吗?

告诉我们你想构建什么。

告诉我们您需要构建什么:从简单的网站到完整应用、AI 解决方案、自动化或定制系统都可以。

告诉我们您想构建什么。我们会查看每一份咨询并通过邮件回复。

联系

感谢您,咨询已发送。

我们会查看详细信息并通过邮件回复。