LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

谁说 JSON 不能有注释?

admin
2024年12月19日 23:11 本文热度 300

曾经是不是有人告诉过你:“JSON 不能有注释?

发现了一个有意思的网站,域名为 https://douglascrockfordisnotyourdad.technomancy.us/ 这个子域名所表达的意思是 “Douglas Crockford 不是你爸爸”,大概率是因为这个人曾说过 “JSON 不能有注释”,这个网站主要内容是在告诉你:“在 JSON 中使用注释没有什么问题,不要听从 Douglas Crockford 的建议

下文为大家分享一个在 JavaScript 中支持 JSON 注释的 NPM 库。

在 Github 拥有 6.7K Star
在 NPM 拥有 8500万/周 下载量

什么是 JSON5?

JSON5 是一种对流行的 JSON 文件格式的扩展,旨在让手工编写和维护(例如配置文件)变得更加简单直观。然而,它并非为机器与机器之间的通信设计(建议继续使用 JSON 或其他文件格式用于此类场景)。

JSON5 格式是 JSON 的超集(因此所有有效的 JSON 文件在 JSON5 中也有效),其语法扩展自 ECMAScript 5.1(ES5)。同时,JSON5 也是 ES5 的严格子集,保证了向后兼容性和一致性

JSON5 项目始于 2012 年。截至 2024 年,JSON5 每周下载量超过 8500 万次,是 npm 上最受依赖的 0.1% 软件包之一,并被广泛应用于主流项目如 Chromium、Next.js、Babel、Retool、WebStorm 等。此外,JSON5 还原生支持 MacOS 和 iOS 等苹果平台。

JSON5 的主要功能

以下是 JSON5 支持但 JSON 不支持的一些特性:

对象

  • 对象的键可以是 ECMAScript 5.1 的 IdentifierName。
  • 对象可以有一个尾随逗号。

数组

  • 数组可以有一个尾随逗号。

字符串

  • 字符串可以使用单引号。
  • 字符串可以通过转义换行符跨多行书写。
  • 字符串支持字符转义。

数字

  • 支持十六进制数。
  • 支持带前导或尾随小数点的数字。
  • 支持 IEEE 754 的正无穷大、负无穷大和 NaN。
  • 数字可以以显式正号开头。

注释

  • 支持单行和多行注释。

空白字符

  • 支持更多的空白字符。

示例代码

以下是一个 JSON5 格式的“多功能”示例:

{
  // 注释内容
  unquoted'你可以引用我的话',
  singleQuotes'这里可以使用 "双引号"',
  lineBreaks"看呐,妈妈! \
没有 \\n 的换行!"
,
  hexadecimal0xdecaf,
  leadingDecimalPoint.8675309andTrailing8675309.,
  positiveSign: +1,
  trailingComma'在对象中',
  andIn: ['数组中',],
  "backwardsCompatible""兼容 JSON",
}

安装使用

依赖安装

npm install json5

CommonJS、ES Modules 规范都支持

const JSON5 = require('json5');

import JSON5 from 'json5';

JSON5.stringify(),将 JavaScript 对象转换为 JSON5 字符串。

JSON5.stringify(value[, replacer[, space]]);
JSON5.stringify(value[, options]);

JSON5.parse(),将 JSON5 字符串解析为 JavaScript 对象。

JSON5.parse(text[, reviver]);

- End -


该文章在 2024/12/20 10:45:14 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved