← 返回工具箱
📋 JSON格式化
输入 JSON
✅ JSON 格式正确
输出结果

📖 JSON格式详解

什么是JSON?

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,由 Douglas Crockford 在2001年提出并推广。它基于JavaScript对象语法,但完全独立于语言,被几乎所有编程语言支持,是现代Web API最主流的数据格式。

JSON数据类型

类型示例说明
字符串 (string)"hello"双引号包裹的 Unicode 文本,特殊字符需转义
数字 (number)423.14-1e5整数或浮点数,不支持 NaN/Infinity
布尔 (boolean)truefalse全小写,区别于 JavaScript 大写写法无关
空值 (null)null表示空或缺失的值
对象 (object){"key": "value"}花括号包裹的键值对,键必须是字符串
数组 (array)[1, "a", true]方括号包裹的有序值列表,元素类型可混合

JSON常见语法错误

错误类型错误示例正确写法
单引号键名{'name': 'Alice'}{"name": "Alice"}
尾部多余逗号{"a": 1, "b": 2,}{"a": 1, "b": 2}
注释{"a": 1 // comment}JSON不支持注释,需删除
undefined{"a": undefined}使用 null 代替
非双引号字符串[hello, world]["hello", "world"]
键不加引号{name: "Alice"}{"name": "Alice"}

字符串转义字符

转义序列含义
\"双引号
\\反斜杠
\/正斜杠
\n换行符
\r回车符
\t制表符
\uXXXXUnicode 字符(4位十六进制)

格式化与压缩的使用场景

格式化(Beautify):在开发调试时使用,增加缩进和换行使结构清晰易读,便于人工检查数据结构和排查问题。

压缩(Minify):在生产环境传输时使用,移除所有空白字符以减少数据体积,降低网络传输时间。

示例压缩效果:

格式化(47字节):
{"name": "Alice", "age": 30}

压缩(27字节):
{"name":"Alice","age":30}

节省约 43% 的体积
💡 小贴士:JSON 规范(RFC 8259)规定键名必须使用双引号,且同一对象中不应出现重复键名。虽然大多数解析器会接受重复键,但行为未定义——有些取第一个,有些取最后一个。生产环境中应避免重复键。