> 格式化 | 验证 | 压缩 <
// 即时格式化、验证和压缩JSON数据
[FORMAT]
美化输出
使用可自定义的缩进美化JSON。选择2空格、4空格或制表符。
[MINIFY]
压缩输出
删除所有空白来压缩JSON。减少生产环境和API的文件大小。
[VALIDATE]
语法检查
即时验证JSON语法。获取详细的错误信息。
// 关于JSON格式化
什么是JSON:
JSON(JavaScript Object Notation)是RFC 8259定义的轻量级数据交换格式。人类易于读写,机器易于解析和生成。
示例:
{"name":"John","age":30} → {\n "name": "John",\n "age": 30\n}
常见用途:
- >API响应调试和检查
- >配置文件格式化
- >处理前的数据验证
- >通过压缩减小大小
- >排序键值以获得一致输出
>> 常见问题
问:什么是JSON格式化工具?
答:JSON格式化工具将原始或压缩的JSON数据用适当的缩进和换行重新格式化,使其更易读。
问:美化和压缩有什么区别?
答:美化添加缩进和换行使JSON可读。压缩删除所有不必要的空白以减小文件大小。
问:JSON验证如何工作?
答:JSON验证检查输入是否符合JSON规范(RFC 8259),包括括号、引号和数据类型。
问:排序键值有什么用?
答:按字母顺序排序重新排列JSON结构中的所有对象键,便于比较和保持一致性。
问:JSON与YAML相比如何?
答:JSON使用花括号和严格语法,YAML使用缩进。JSON在API中支持更广泛。YAML更易读但解析更复杂。
// 常见的 JSON 错误
这些写法在 JavaScript 中可行,但在严格的 JSON 中无效。
| 无效 | 有效 |
|---|---|
| {'a': 1} | {"a": 1} |
| {"a": 1,} | {"a": 1} |
| {a: 1} | {"a": 1} |
| {"a": undefined} | {"a": null} |
| {"a": 01} | {"a": 1} |
// 在代码中格式化 JSON
JavaScript JSON.stringify(obj, null, 2) Python json.dumps(obj, indent=2, ensure_ascii=False) PHP json_encode($obj, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE) Go json.MarshalIndent(v, "", " ") Java new ObjectMapper().writerWithDefaultPrettyPrinter() CLI jq . file.json CLI python3 -m json.tool file.json
>> 更多问题
问:美化会改变我的数据吗?
答:不会,只改变空白和缩进。除非你明确开启键排序,否则键的顺序和值都保持不变。
问:大数字会丢失精度吗?
答:JavaScript 将数字按 64 位浮点数读取,因此超过 9,007,199,254,740,991(2^53−1)的整数可能丢失精度。如果你的 ID 这么大,建议在数据中以字符串形式保存。
问:JSON 和 JavaScript 对象有什么区别?
答:JSON 是严格的文本格式:键和字符串必须使用双引号,不能包含函数、undefined、注释或尾随逗号。JavaScript 对象字面量则宽松得多。