Skip to content

JSON 格式化与验证工具

在浏览器中即时格式化、验证和美化 JSON。免费在线工具,支持语法验证、错误检测、压缩和一键复制,100% 隐私保护。

无追踪 浏览器中运行 免费
输出

什么是 JSON?

JSON(JavaScript Object Notation,JavaScript 对象表示法)是一种轻量级的、基于文本的数据交换格式,人类易于阅读和编写,机器也易于解析和生成。JSON 由 Douglas Crockford 在 2000 年代初期创建,并被正式标准化为 RFC 8259,如今已成为几乎所有编程语言、API 和 Web 服务之间数据交换的通用标准。

JSON 支持六种数据类型:字符串(双引号括起)、数字、布尔值(true/false)、null、数组(有序列表)和对象(键值对)。其简洁性和可读性使其成为大多数现代 Web 应用程序、REST API 和配置文件中优于 XML 的首选格式。

JSON 格式化工具可以将原始或压缩的 JSON 转换为结构清晰、带缩进的格式,使数据层级一目了然。这对于调试 API 响应、检查配置文件以及理解复杂的嵌套数据结构至关重要。与 XML 不同,JSON 不支持注释、属性或命名空间——它纯粹专注于数据表示。

{
  "name": "Alice",
  "age": 30,
  "isActive": true,
  "skills": ["JavaScript", "Python"],
  "address": null
}

核心功能

即时格式化

粘贴任意 JSON,即可在毫秒内获得完美缩进的输出。支持 2 空格和 4 空格缩进。

实时验证

输入时自动检测语法错误,提供清晰的错误信息,精确指出错误所在的行和位置。

一键压缩

将格式化的 JSON 压缩为单行,减少文件大小,适用于生产环境的 API 和配置文件。

100% 浏览器端处理

所有处理均在浏览器本地完成,数据绝不离开您的设备 — 无需上传服务器,无任何追踪。

支持大文件

高效处理最大 10MB 的 JSON 文件,性能流畅,不会出现文件大小警告或崩溃。

复制与下载

即时导出结果 — 一键复制到剪贴板或下载为 .json 文件。

示例

API 响应

{"status":200,"data":{"user":{"id":"usr_2x7kP9","name":"Alice Chen","email":"alice@example.com","roles":["admin","editor"],"lastLogin":"2026-03-12T08:30:00Z"},"meta":{"requestId":"req_abc123","timestamp":1741776600}}}

格式化典型的 REST API 响应,包含嵌套的用户数据和元信息

包配置文件

{"name":"my-app","version":"2.1.0","private":true,"scripts":{"dev":"next dev","build":"next build","start":"next start","lint":"eslint ."},"dependencies":{"react":"^18.2.0","next":"14.1.0"},"devDependencies":{"typescript":"^5.3.0","eslint":"^8.56.0"}}

美化压缩的 package.json 配置文件

数据集合

[{"id":1,"product":"Laptop Pro","price":1299.99,"inStock":true,"tags":["electronics","computers"]},{"id":2,"product":"Wireless Mouse","price":29.99,"inStock":false,"tags":["electronics","accessories"]},{"id":3,"product":"USB-C Hub","price":49.99,"inStock":true,"tags":["electronics","accessories"]}]

格式化来自数据库或电商 API 的产品对象数组

嵌套配置

{"database":{"host":"localhost","port":5432,"name":"mydb","pool":{"min":2,"max":10}},"cache":{"enabled":true,"ttl":3600,"provider":"redis"},"logging":{"level":"info","format":"json","outputs":["stdout","file"]}}

缩进深层嵌套的应用配置,包含数据库、缓存和日志设置

使用方法

  1. 1

    粘贴 JSON 数据

    在上方输入框中输入或粘贴原始 JSON 数据。也可以点击「Load example」加载示例数据快速体验。

  2. 2

    格式化或压缩

    点击「Format JSON」将 JSON 美化为带缩进的可读格式,或点击「Minify JSON」压缩为单行紧凑格式。

  3. 3

    复制结果

    处理后的结果会显示在输出区域。点击「Copy」即可一键复制到剪贴板。

常见 JSON 错误

尾随逗号

JSON 不允许在数组或对象的最后一个元素后面添加逗号。这是最常见的错误之一,尤其是从 JavaScript 代码复制时。

✗ 错误
{"name": "Alice", "age": 30,}
✓ 正确
{"name": "Alice", "age": 30}

单引号

JSON 要求所有字符串和键名使用双引号。单引号在 JavaScript 中有效,但在 JSON 中无效。

✗ 错误
{'name': 'Alice'}
✓ 正确
{"name": "Alice"}

未加引号的键名

JSON 中所有属性键必须用双引号括起来。未加引号的键名在 JavaScript 对象中有效,但在 JSON 中无效。

✗ 错误
{name: "Alice"}
✓ 正确
{"name": "Alice"}

注释

标准 JSON 不支持任何形式的注释。如果需要注释,请考虑使用 JSONC(带注释的 JSON)或 YAML。

✗ 错误
{"name": "Alice" // user name}
✓ 正确
{"name": "Alice"}

缺少括号

每个左方括号或左花括号都必须有对应的右方括号或右花括号。括号不匹配会导致 'Unexpected end of JSON input' 错误。

✗ 错误
{"users": [{"name": "Alice"}
✓ 正确
{"users": [{"name": "Alice"}]}

意外的标记

当解析器遇到不应出现在该位置的字符时会发生此错误。常见原因包括元素之间缺少逗号,或 JSON 结束后存在多余字符。

✗ 错误
{"name": "Alice" "age": 30}
✓ 正确
{"name": "Alice", "age": 30}

常见使用场景

API 响应调试
将压缩的 API 响应格式化为可读 JSON,方便快速调试和检查数据结构。
配置文件处理
验证和美化 package.json、tsconfig.json、.eslintrc 等配置文件。
数据检查
浏览和理解从数据库、日志或第三方服务导出的 JSON 数据。
代码审查
格式化 JSON 代码片段,让代码审查中的差异对比更加清晰。
技术文档
为技术文档和教程生成格式整齐的 JSON 示例。
数据迁移
在将数据导入新系统之前,验证 JSON 的结构和语法正确性。

技术细节

符合 RFC 8259 标准
完整支持标准 JSON 规范,包括 Unicode 和转义字符。
浏览器端处理
所有格式化操作均在浏览器本地运行,使用原生 JSON.parse() 和 JSON.stringify() 方法。
文件大小支持
支持最大 10MB 的 JSON 文件,可配置缩进格式(2 或 4 个空格)。

最佳实践

使用前先验证
在生产环境中使用 JSON 数据前,始终先验证以尽早发现语法错误。
保持一致的缩进
建议使用 2 空格缩进,兼顾可读性和版本控制中的文件大小。
生产环境使用压缩格式
在 API 响应和配置文件中使用压缩 JSON,减少带宽占用和加载时间。

常见问题

如何在线格式化 JSON?
将原始或压缩的 JSON 粘贴到上方输入框中,然后点击「Format JSON」。工具会立即解析数据、验证语法,并以 2 空格缩进显示格式化后的版本。然后您可以一键将结果复制到剪贴板。所有处理均在浏览器本地完成——不会向任何服务器发送数据。
如何验证 JSON 是否有效?
将 JSON 粘贴到输入框中并点击「Format JSON」。如果 JSON 包含语法错误,工具会显示详细的错误信息,说明出了什么问题以及错误位置。如果 JSON 有效,则会格式化后显示在输出区域。本工具按照 RFC 8259(当前 JSON 标准)进行验证。
如何压缩 JSON?
将 JSON 粘贴到输入框中并点击「Minify JSON」。工具会移除所有不必要的空格、换行符和缩进,生成最紧凑的表示形式。压缩后的 JSON 非常适合用于 API 响应、生产环境的配置文件,以及任何需要减小文件体积或节省带宽的场景。
使用这个工具时我的 JSON 数据安全吗?
完全安全。所有处理均在浏览器本地使用 JavaScript 原生的 JSON.parse() 和 JSON.stringify() 完成——数据绝不会离开您的设备。没有服务器上传,没有 Cookie,不会对您的输入进行任何分析追踪,也没有任何形式的数据存储。因此可以安全地用于处理 API 密钥、凭证和专有数据。
如何修复 JSON 中的 "Unexpected token" 错误?
"Unexpected token" 错误意味着 JSON 解析器在该位置发现了一个不应出现的字符。最常见的原因是:元素之间缺少逗号({"name": "Alice" "age": 30})、最后一个元素后有尾随逗号({"name": "Alice",}),或者 JSON 结束后存在多余字符。将 JSON 粘贴到本工具中即可查看确切的错误位置,然后检查该位置周围的字符。
为什么我的 JSON 有「尾随逗号」错误?
JSON 不允许在对象或数组的最后一个元素后面添加逗号。这是最常见的错误之一,因为 JavaScript 和许多其他语言允许尾随逗号。例如,{"name": "Alice", "age": 30,} 是无效的 JSON——删除 30 后面的逗号即可修复。如果您经常从 JavaScript 代码中复制数据,请在用作 JSON 之前始终检查尾随逗号。
JSON 中可以使用单引号吗?
不可以。JSON 要求所有字符串和属性键使用双引号。单引号在 JavaScript 和 Python 中有效,但不属于 JSON 规范(RFC 8259)。例如,{'name': 'Alice'} 是无效的——必须写成 {"name": "Alice"}。如果您的数据使用了单引号,本工具会报告语法错误并显示需要修复的确切位置。
JSON 中可以添加注释吗?
不可以,标准 JSON 不支持任何形式的注释——不支持 //、/* */ 或 # 语法。这是为了保持 JSON 简洁和可解析而做出的设计决定。如果您需要在配置文件中使用注释,可以考虑 JSONC(带注释的 JSON,VS Code 和 TypeScript 使用)、JSON5 或 YAML。要将带注释的文件用作标准 JSON,需要先去除注释再进行解析。
为什么我的 JSON 无法正确解析?
JSON 解析失败最常见的原因是:(1) 最后一个元素后有尾随逗号,(2) 使用单引号而非双引号,(3) 属性键未加引号,(4) 数据中包含注释,(5) 方括号或花括号缺失或多余,(6) 字符串内有未转义的特殊字符(如反斜杠或换行符)。将 JSON 粘贴到本工具中——它会精确定位错误类型和位置,帮助您快速修复。
JSON 和 YAML 有什么区别?
JSON 和 YAML 都是数据序列化格式,但设计理念不同。JSON 使用花括号、方括号和双引号,语法严格——非常适合机器解析和 API。YAML 使用缩进和最少的标点符号——更便于人类阅读,常用于配置文件(Docker Compose、Kubernetes、GitHub Actions)。JSON 是 YAML 的子集,因此任何有效的 JSON 也是有效的 YAML,但反过来不成立。
什么是 JSON Schema?
JSON Schema 是一个独立的标准(不是 JSON 本身的一部分),用于定义 JSON 数据的预期结构、类型和约束。例如,您可以指定某个字段必须是字符串、某个数字必须在 1 到 100 之间、或某个数组必须包含至少一个元素。JSON Schema 广泛用于 API 请求/响应验证、表单生成和文档编写。本工具验证的是 JSON 语法而非 JSON Schema——如需 Schema 验证,请使用专门的 JSON Schema 验证工具。
JSON 和 JSON5 有什么区别?
JSON5 是 JSON 的扩展,添加了开发者经常需要的功能:单引号和双引号、尾随逗号、注释(// 和 /* */)、不加引号的键、多行字符串和十六进制数字。JSON5 常用于需要人工编辑的配置文件。标准 JSON 解析器无法读取 JSON5——需要专用的 JSON5 解析器。本工具仅支持标准 JSON(RFC 8259)。
JSON 文件的最大大小是多少?
JSON 规范本身没有文件大小限制。实际限制取决于解析器和环境:浏览器通常可以处理 500 MB 至 1 GB 的 JSON,超过后可能会遇到内存问题;服务端解析器(Node.js、Python、Java)可以通过流式解析器处理更大的文件。本在线工具可以高效处理约 10 MB 的 JSON。对于超大 JSON 文件,建议使用 jq 等命令行工具或流式解析器。

Base64 解码与编码工具

编码和格式化

免费在线 Base64 解码编码工具。实时转换,支持中文和 Emoji,100% 浏览器端运行,数据不离开设备,无需注册。

进制转换器 — 二进制、十六进制、十进制、八进制互转

转换工具

在线免费进制转换工具,支持二进制、八进制、十进制、十六进制及 2-36 任意进制互转。无需注册,数据不离开浏览器,即时获取结果。

在线图片压缩工具 – 免费批量压缩

转换工具

免费在线压缩 JPEG、PNG、WebP 图片,体积缩小高达 80%。浏览器本地处理、图片不上传服务器。支持批量压缩 20 张、质量调节、前后对比预览。无需注册。

长度单位转换器 — 公制、英制、天文单位一键互转

转换工具

1 英寸 = 2.54 厘米,1 英尺 = 0.3048 米,1 英里 = 1.609 千米。支持公制、英制、海里、天文共 16 种长度单位即时互转。免费在线工具,所有计算在浏览器本地完成,数据不离开您的设备。

在线 MD5 哈希生成器与文件校验工具

安全工具

在线生成 MD5、SHA-256、SHA-1、SHA-512 哈希值 — 完全免费,浏览器本地运算,无需注册。支持文本和文件哈希、校验和验证、哈希值对比,一键复制,数据绝不离开您的设备。

随机密码生成器 - 在线生成

安全工具

免费在线随机密码生成器,一键生成高强度安全密码。支持自定义长度、字符类型,批量生成多个密码。所有密码仅在浏览器本地生成,不上传不存储。