JSON 基础
什么是 JSON?
JSON(JavaScript Object Notation)是一种存储和交换结构化数据的文本格式。网页应用常用它传输 API 数据、保存配置,以及在浏览器与服务器之间交换信息。
JSON 由对象和数组组成。对象用花括号保存键值对,数组用方括号保存有序列表。值可以是字符串、数字、布尔值、null、对象或数组;键名和字符串必须使用双引号。
application/json{
"name": "Daily Free Tools",
"active": true,
"toolCount": 12,
"categories": ["Developer", "Text"],
"owner": null
}{"key": "value"}[1, 2, 3]true 或 falsenull工具介绍
JSON 格式化工具有什么作用?
JSON 格式化会添加统一的缩进和换行,让嵌套数据更容易阅读,而不会改变键和值。本工具还会检查语法、定位问题,并提供可展开的树形视图。
使用 2 个空格、4 个空格或制表符美化有效 JSON。
查找语法错误和重复键,并显示准确位置。
修正常见错误并生成可检查的预览。
删除不必要的空白以减小文本体积。
按字母顺序排列对象键,不改变数组顺序。
展开对象和数组,并搜索键、值与路径。
移除一层字符串转义,或在可读文字与标准 Unicode 转义序列之间转换。
一些工具会舍入大于 9,007,199,254,740,991 的整数,或改写 1.50、1e3。本工具直接保留原始数字文本。
使用步骤
如何格式化 JSON
- 1添加 JSON
粘贴文本、打开
.json文件,或将文件拖入工作区。 - 2选择操作
选择格式化、压缩或修复,并设置缩进和排序选项。
- 3检查结果
打开诊断定位输入问题,在文本和树形视图中核对结构。
- 4复制或下载
复制结果、下载 JSON 文件,或把结果放回输入区继续处理。
所有处理都在当前浏览器标签页本地完成,文档不会上传到本站。在共享或不受信任的设备上仍应避免粘贴密钥等敏感信息。
问题排查
常见 JSON 错误及修复方法
单引号
JSON 字符串必须使用双引号。
末尾逗号
最后一个属性或数组元素后不能有逗号。
未加引号的键名
对象键名必须是使用双引号的字符串。
缺少分隔符或括号
属性之间需要逗号,每个左括号都需要对应的右括号。
注释
标准 JSON 不支持 // 或 /* */ 注释,可改用 JSONC。
Python 值
JSON 使用小写 true、false 和 null。
修复功能只能做尽可能合理的推断。用于生产环境前,请始终将修复预览与原始内容进行对照。
常见问答
JSON 格式化常见问题
这个工具适合处理隐私数据吗?
所有操作都在浏览器中完成,JSON 不会发送到我们的服务器。但浏览器扩展、剪贴板和共享设备仍可能带来风险。
格式化会改变 JSON 数据吗?
格式化只改变空白和缩进。本工具保留原始数字文本;键名排序是可选操作。
为什么我的 JSON 无效?
常见原因包括单引号、末尾逗号、未引用键名、注释、缺少逗号和括号不匹配。
如何修复无效 JSON?
先根据诊断手动修正;修复功能会生成预览,但需要核对可能存在歧义的部分。
格式化和压缩有什么区别?
格式化增加缩进和换行以便阅读;压缩删除不必要的空白以减小体积。
JSON 可以包含注释吗?
标准 JSON 不支持注释。JSONC 支持注释,但严格解析器可能拒绝它。
为什么有些工具会改变大整数?
JavaScript 无法精确表示所有超大整数,解析后重新序列化可能导致舍入。本工具保留原始文本。
JSON 应该使用 2 个还是 4 个空格?
两者都有效,请遵循项目约定。
可以不上传文件直接格式化吗?
可以。浏览器会在本地读取打开或拖入的文件。
JSON 和 JSONC 有什么区别?
JSONC 是带注释的 JSON 变体,并不属于严格 JSON。