转换器会先用 JSON5 解析输入,再输出格式化 JSON。因此数据型对象字面量可以使用未加引号的 key、单引号、注释与尾随逗号,并可保留原始 key 顺序或按字母排序。
输出会是严格 JSON,因此只会保留 JSON 能表示的值。函数、方法、prototype、computed property 与 undefined 都不是合法 JSON 值,转换前应先移除或改写。
关于这个主题的常见疑问与实用解答。
JavaScript 对象字面量若以 JSON5 风格数据语法撰写,可以使用无引号键名、单引号、注释与尾随逗号。JSON 要求双引号键名,且仅支持字符串、数值、布尔值、null、数组与对象。函数、方法、undefined 与 computed property 必须在转换前移除。
可以,排序下拉菜单让您将所有 JSON 对象键按字母顺序排列(A 到 Z),或保持 JavaScript 来源的属性顺序。排序会递归应用至每个嵌套 JSON 对象。
可以,通过格式化选项选择 JSON 输出缩进为 2 个空格、4 个空格或 Tab。对于 API 响应,2 个空格是标准;对于人类可读的配置文件,4 个空格可能更佳。
不会,JS 对象转 JSON 的转换完全在您的浏览器端执行。您的 JavaScript 代码在本地解析,不会传输至任何外部服务器。