JSON5 输入/输出
字符数: 0
JSON 输入/输出
字符数: 0
什么是 JSON5?
简介
JSON5 是 JSON 的超集,旨在让 JSON 更易于人类编写和维护。它扩展了 JSON 标准,增加了许多现代编程语言中常见的语法特性,同时保持与标准 JSON 的完全兼容。JSON5 解析器可以解析所有有效的 JSON,但还能处理额外的语法。
主要特点
注释支持
支持单行注释(//)和多行注释(/* */)
尾随逗号
对象和数组的最后一个元素可以带逗号
未加引号的键
对象键名可以不用引号包裹
多行字符串
支持使用反斜杠创建多行字符串
扩展数字
支持十六进制(0x)、八进制(0o)和二进制(0b)
兼容 JSON
完全兼容标准 JSON,所有有效 JSON 都是有效 JSON5
语法对比示例
标准 JSON
{
"name": "张三",
"age": 30,
"hobbies": ["编程", "阅读"]
}JSON5
{
// 名字
name: '张三',
age: 30,
hobbies: ['编程', '阅读',], // 尾随逗号
}使用场景
- 配置文件:编写更易读、易维护的配置文件
- 数据交换:在需要注释和灵活格式时使用
- 开发调试:快速编写测试数据,支持注释说明
- 文档编写:在文档中展示数据结构时使用
- JSON 转换:将 JSON5 转换为标准 JSON 供其他系统使用
注意事项
- JSON5 解析后可以完美转换为标准 JSON,不会丢失任何数据
- 在需要严格 JSON 格式的环境中,请先转换为标准 JSON
- 多行字符串在转换为 JSON 时会被转换为普通字符串
- 十六进制数字会被转换为十进制数字
- 注释在转换为 JSON 时会被移除
- 尾随逗号在转换为 JSON 时会被移除
- 未加引号的键名在转换为 JSON 时会被加上引号