直接删除注释文字为何会破坏配置
通过引号内的网址、重复键和大数字标识符,理解可靠的 JSONC 交接。
网址中的斜杠是数据
样例中引号内的网址 // 必须保留,相邻块注释则应移除。按 // 截断整行会破坏字符串;转换器先识别 token,再移除语法。
{"url":"https://example.org/a//b",/* note */"id":9007199254740993,"items":[1,2,],}重复键让交接产生歧义
"id" 与 "\u0069d" 解码后是同一个键名。工具拒绝该对象,不擅自选取首次或最后值。原始问题的样例还存在语法错误;移除注释不能补好缺失逗号或断裂字符串。
- 保留原始配置。
- 与配置负责人确认重复键的取舍。
- 在实际接收应用打开严格 JSON。
数字原始写法与读取精度分别核对
大整数、小数指数和负零等数字 token 在输出中保留原始字节。接收应用仍可能舍入,应选择精度合适的读取方式。
结果采用紧凑格式,移除注释、空白与尾逗号;保留键名、字符串、数组顺序和数字写法。这是语法转换,不是配置语义校验;文件与内容只在浏览器处理。
| 输入 | 输出 |
|---|---|
| 9007199254740993 | 9007199254740993 |
| -0 | -0 |
| 1e400 | 1e400 |
| /* note */ | 移除注释 |
按支持的语法处理
接受标准 JSON 值、// 行注释、/* 块注释 */ 与尾逗号。拒绝 JSON5 单引号、无引号键名、十六进制数字、NaN、Infinity 和可执行表达式。
修正语法,使用双引号键名和字符串,并去除重复键名。选择支持的 UTF-8 文件,或清除选中文件后使用粘贴内容。
参考资料
- 带 C 风格注释配置的原始问题
原作者希望程序生成的带注释数据能交给标准解析器;原帖存在错误的样例不会自动修复。网页偏好与需求规模未核实。
- Microsoft JSONC 扫描器与语法树解析器
扫描器与语法树解析错误都必须为空,另行拒绝解码后重复的对象键名。
本分类工具使用说明
展开工具,查看操作步骤、可调选项和支持范围,再直接进入工作区。
含注释 JSON 转严格 JSON移除 JSONC 注释与尾逗号,保留每个 JSON 数字的原始写法。
粘贴带注释的配置,或选择一个 UTF-8 文件,下载严格 JSON 和转换报告。
操作步骤
- 粘贴 JSONC,或选择原始 UTF-8 配置文件。
- 转换并核对移除的注释和尾逗号数量。
- 下载 converted.json 与 conversion-report.json。
- 在目标应用打开 JSON,核对数字读取方式。
能力与限制
- 粘贴最多 1 MiB,或选择一个最多 2 MiB 的 UTF-8 文件;选中文件优先于粘贴内容。仅移除并记录开头的一个 UTF-8 BOM。
- 接受标准 JSON 值、// 行注释、/* 块注释 */ 与尾逗号。拒绝 JSON5 单引号、无引号键名、十六进制数字、NaN、Infinity 和可执行表达式。
- 拒绝语法错误和同一对象内解码后重复的键名;不会自动补逗号、修复断裂字符串或错误转义。
- 最多 128 层容器与 200,000 个非注释语法 token。严格 JSON 最多 4 MiB;合法输入上限会先约束这一输出保护。
- 大整数、小数指数和负零等数字 token 在输出中保留原始字节。接收应用仍可能舍入,应选择精度合适的读取方式。
- 结果采用紧凑格式,移除注释、空白与尾逗号;保留键名、字符串、数组顺序和数字写法。这是语法转换,不是配置语义校验;文件与内容只在浏览器处理。
- 页面仅预览前 4,000 个字符;复制与下载仍保留完整结果。