嵌套 JSON 解析器

粘贴 JSON 或从电脑中打开 .json 文件,即可在线查看、格式化并解码嵌套 JSON。

字符:0词元数:0
No JSON data to display

JSON 工具

列表与数组工具

如何使用嵌套 JSON 解析器

三步即可解码、格式化并查看任意 JSON,全部在浏览器中完成。

  1. 1输入 JSON。粘贴到输入框,或点击 打开 JSON 文件 打开 .json、.txt 或无后缀的文件,也可以直接把文件拖到输入框里。从日志里直接复制的转义字符串同样可以。
  2. 2解码。合法的 JSON 会自动格式化。如果其中包含 "{\"name\":\"John\"}" 这样的转义字符串,点击 解码嵌套 JSON 即可一次性解开所有层级。
  3. 3使用结果。在树形视图中展开或折叠节点,复制格式化后的 JSON,或通过 转换为 下载为 JSON、CSV、XML、YAML 或 Markdown。

数据始终留在您的浏览器中,不会上传或存储。

什么是嵌套 JSON?

嵌套 JSON(也叫二次编码或字符串化的 JSON)是指以字符串形式存放在另一个 JSON 文档里的 JSON。你看到的不是真正的对象,而是一长串满是反斜杠的字符串。

嵌套(实际拿到的)
{
  "event": "order",
  "payload": "{\"id\":42,\"items\":[\"apple\"]}"
}
解析后(想要的)
{
  "event": "order",
  "payload": {
    "id": 42,
    "items": ["apple"]
  }
}

JSON 每被序列化一次,就会多一层转义:\" 变成 \\\",依此类推。经过两三轮后,数据几乎无法阅读。

嵌套 JSON 通常出现在哪里

  • 日志:日志库会把你的 JSON 消息写进它自己那行 JSON 的 message 或 log 字段里,Docker、Kubernetes 和 CloudWatch 日志都是这样。
  • 消息队列:AWS SNS 投递到 SQS 的通知会把消息体包两层,Body 里的 Message 字段是字符串里的字符串。
  • 数据库:存在文本列里的 JSON,查询或导出时会变成普通字符串。
  • API 和 Webhook:有些服务会先把 data、metadata 之类的字段字符串化再发送。

为什么普通的 JSON 格式化工具解决不了

JSON.parse 这样的标准解析器和常见的在线格式化工具只会解析一层。按照 JSON 规范,"{\"id\":42}" 本身就是一个合法的字符串,所以格式化工具会原样保留它:依然是一行,反斜杠一个不少。手动处理就得把字符串复制出来、去掉转义,每一层都重复一遍;而用查找替换去掉 \",只要超过一层就会出错。

NextJSON 会找出所有包含 JSON 的字符串,并递归解码任意深度,一键完成。从日志里直接粘贴的整段转义字符串也能处理,带不带外层引号都可以。

工作原理

看看 Next JSON 如何一键轻松解码多层编码的 JSON 字符串。无需手动解码。

嵌套 JSON 示例

解码包含转义引号和嵌套对象的 JSON 字符串。

输入
{
  "user": "{\"name\":\"John\",\"age\":30}",
  "status": "active"
}
输出
{
  "user": {
    "name": "John",
    "age": 30
  },
  "status": "active"
}

多层编码 JSON 展平

展平具有多层编码的深层嵌套 JSON 字符串。

输入
{
  "level1": "{\"level2\": \"{\\\"key\\\": \\\"value\\\"}\"}"
}
输出
{
  "level1": {
    "level2": {
      "key": "value"
    }
  }
}

JSON 中的嵌套数组

处理包含多个编码 JSON 字符串的数组。

输入
{
  "items": [
    "{\"id\":1,\"value\":\"first\"}",
    "{\"id\":2,\"value\":\"second\"}"
  ]
}
输出
{
  "items": [
    {
      "id": 1,
      "value": "first"
    },
    {
      "id": 2,
      "value": "second"
    }
  ]
}

常见问题

如何打开 JSON 文件?

直接在本页即可在线打开 JSON 文件,无需安装任何软件。

  1. 1点击输入框上方的 打开 JSON 文件,或将文件拖放到输入框中。
  2. 2支持 .json、.txt 以及无后缀的文件。
  3. 3NextJSON 会立即格式化并校验内容,还会解码嵌套的 JSON 字符串。

文件只在浏览器本地读取,不会上传。

其他打开 JSON 文件的方式

  • 文本编辑器:记事本、VS Code、Sublime Text 或 TextEdit
  • 浏览器:将文件拖入 Chrome 或 Firefox
  • 命令行:cat file.json 或 jq . file.json

为什么建立这个网站?

在格式化日志文件中的 JSON 数据时,我发现解码嵌套部分很麻烦。所以我建了这个网站让自己的工作更轻松!如果也能帮到其他人,那就更好了!

这个网站会在云端存储我的数据吗?

不会,本网站不会在云端存储或共享您的数据。您的数据保持私密,仅保存在您的浏览器本地。

为什么需要解码嵌套的 JSON 字符串?

嵌套 JSON 字符串通常在 JSON 数据被多次序列化时出现,例如在数据库中存储 JSON 或通过多个系统传递时。解码是为了访问和处理实际的数据结构,而不是处理转义的字符串表示。

这个 JSON 解码器如何处理多层编码?

该工具会自动检测并递归解码任意深度的 JSON 嵌套字符串。它能处理 JSON 被多次编码的场景,在去除转义字符并将字符串表示转换回正确的 JSON 对象的同时,精心保留数据结构。

这个工具能处理编码 JSON 字符串的数组吗?

可以,解码器能处理包含多个编码 JSON 字符串的数组。它会遍历数组元素并解码发现的任何 JSON 字符串,在正确解析每个编码元素的同时保持数组结构。

这个网站缺少一些我需要的功能。你们能添加吗?

当然可以,我们欢迎所有建议!请通过页面底部的链接分享您的反馈。