JSON5 格式化与转换

解析 JSON5 格式(支持注释、尾随逗号、单引号等扩展语法),转换为标准 JSON 或格式化输出

JSON5 输入
标准 JSON 输出
关于 JSON5
  • JSON5 是 JSON 的超集,在保持兼容性的同时增加了更多人性化语法,常用于配置文件(如 .eslintrctsconfig.json
  • 支持单行注释(//)、多行注释(/* */)、尾随逗号、单引号字符串、十六进制数字、多行字符串等扩展语法
  • 适用于需要注释的配置文件场景,以及从 JSON5 格式迁移到标准 JSON 的数据处理
操作说明
  • 在左侧粘贴 JSON5 内容,选择输出模式(转标准 JSON 或格式化 JSON5),点击「转换」或按 Ctrl+Enter
  • 点击「JSON5 示例」快速加载含注释和尾随逗号的示例数据
  • 右侧结果支持一键复制或下载为 .json / .json5 文件
  • 支持拖拽 .json5.json 文件到左侧输入区
注意事项
  • JSON5 解析使用纯前端实现,不依赖外部库,支持大多数 JSON5 扩展语法
  • 转换为标准 JSON 后,注释和尾随逗号等扩展语法将被移除
  • 所有处理均在浏览器本地完成,不会上传任何数据
JSON5 知识详解
JSON5 vs 标准 JSON 差异对比
特性标准 JSONJSON5
注释❌ 不支持✅ 单行 // 和多行 /* */
尾随逗号❌ 不允许✅ 对象和数组末尾均可
字符串引号仅双引号 "✅ 单引号 ' 和双引号均可
数字格式仅十进制✅ 支持十六进制 0xFFInfinityNaN
多行字符串❌ 不支持✅ 行末加 \ 续行
对象键名必须加引号✅ 标识符可不加引号
JSON5 语法示例
{ // 单行注释 name: 'JSON5 示例', // 键名无需引号,值可用单引号 version: 1, // 尾随逗号合法 /* 多行注释 可以跨越多行 */ hex: 0xFF, // 十六进制数字 multiline: '第一行\ 第二行', // 多行字符串 list: [ 'item1', 'item2', // 数组尾随逗号 ], }
主流语言的 JSON5 支持
语言/平台库/工具说明
JavaScriptjson5 npm 包官方参考实现,MIT 协议
Pythonpyjson5支持读写 JSON5 文件
Javajson5-javaMaven 可用
VS Code内置支持settings.json 支持注释(JSONC 格式)
TypeScripttsconfig.jsonTypeScript 配置文件原生支持注释