JSON 压缩(minify)是去掉 JSON 中所有不影响数据的空白——缩进、换行和多余空格,把内容变成一行,以减小体积、加快传输。下面重点说明函数输出与类型。
JSON压缩返回值说明
解析函数(JSON.parse、json.loads)返回对象/字典;序列化函数(JSON.stringify、json.dumps)返回字符串。解析失败会抛出带行列位置的异常。
const obj = JSON.parse('{"name":"123问"}');
JSON.stringify(obj, null, 2); // 格式化
JSON.stringify(obj); // 压缩
try { JSON.parse(text); } catch (e) { console.log(e.message); } // 校验
示例
输入:
{
"id": 1,
"tags": [
"json",
"格式化"
],
"ok": true
}
压缩结果:{"id":1,"tags":["json","格式化"],"ok":true}
说明:压缩前 72 字节,压缩后 46 字节。
特殊字符
字符串中必须转义的字符:双引号 \"、反斜杠 \\、控制字符(换行 \n、制表 \t、回车 \r 等);“/”可以写成 \/(可选)。其他字符包括中文都可以直接写。
乱码排查
JSON 中文乱码常见原因:接口响应头没有声明 charset=utf-8;文件按 GBK 保存;或者看到的是 \u4e2d 这种转义(这不是乱码,解析后就是中文)。
本站的JSON格式化工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【JSON 中的大数字精度丢失怎么办?】JavaScript 只能精确表示 2^53 以内的整数,长 ID 建议用字符串传输。
【JSON 和 JavaScript 对象一样吗?】语法相似,但 JSON 更严格:必须双引号、不能有函数、undefined 和注释。
【JSON 能写注释吗?】标准 JSON 不能。需要注释可以用 JSONC、JSON5 或 YAML,但接口传输时不要带注释。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。