不允许注释的原因是JSON主要是用来存储数据的,所以过多的注释不仅会影响数据的可读性,还会增加数据量,导致数据的发送和分析变得困难,影响速度。 。
但是,在某些场景下,您可能需要使用注释。例如,我想用注释来解释JSON格式的配置文件中的配置信息,用注释来解释接口返回的JSON数据中的数据的含义。那么如何给 JSON 数据添加注释呢?这里有一些方法。
使用特殊的键名
要向 JSON 添加注释,请在要添加的键值对之前(或之后)添加一个具有相同名称的键,并在键名称中添加特殊字符以进行区分: @ 、 # 、 ? 、 _我会的。 、 /等,并在key对应的value中定义注释的内容。
注意:在键名中添加特殊字符时,尽量避免使用: , { , } , [ , ]等 JSON 中的常见字符。
让我们通过一个简单的示例来展示如何使用特殊键名称向 JSON 添加注释。
{
"@name": "ウェブサイト名",
"name": "IT基礎",
"_url": "ウェブサイトURL",
"url": "https://it-kiso.com/",
"course": "JSONチュートリアル",
"@charge": "0=有料; 1=無料",
"charge": 1,
"#list": "チュートリアル目次",
"list": [
"JSONデータの種類",
"JSONオブジェクト",
"JSON配列"
],
"message": {
"code": 0,
"message": "OK",
"#data": {
"#id": "ユーザーID",
"#type": "0=正常; 1=異常",
"#name": "名前",
"#createTime": "作成日(yyyy-MM-dd)"
},
"data": {
"id": "12345",
"type": 0,
"name": "私の名前",
"createTime": "2020-05-20"
}
}
} 除了在键名中添加特殊字符之外,您还可以直接使用“comment”、“_comment”或“__comment”作为键名来定义注释,如下例所示。
{
"_comment": "IT基礎(https://it-kiso.com/)—— オンラインでプログラミングを学ぶためのウェブサイト",
"course": {
"name": "JSONチュートリアル",
"url": "https://it-kiso.com/json/index.html"
}
} JSON5
JSON5 是开发者创建并发布在 GitHub( GitHub )上的 JSON 非官方标准,可以认为是 JSON 的升级。 JSON5主要通过引入ECMAScript5.1的一些特性来扩展JSON语法,缓解JSON的一些限制,并且兼容现有的JSON格式。
与JSON相比,JSON5做了以下改变:
- 您可以在对象或数组的末尾添加逗号(即最后一个键值对或值)。
- 可以使用单引号定义字符串。
- 字符串可以包含转义字符并且可以跨越多行。
- 可以定义十六进制数。
- 数字可以包含前导或尾随小数点。
- 您可以在数字前添加加号或减号来表示正数或负数。
- 您可以使用
//定义单行注释,使用/* ... */定义多行注释。
如下例所示:
{
"name": "IT基礎",
"url": "https://it-kiso.com/",
"course": "JSONチュートリアル",
"charge": 1,
"list": [
"JSONデータの種類",
"JSONオブジェクト",
"JSON配列"
],
"message": {
"code": 0,
"message": "OK",
"data": {
"id": "12345",
"type": 0,
"name": "私の名前",
"createTime": "2020-05-20"
}
}
} 使用 JSON5 非常简单。如果在前端使用,可以直接导入js文件,如下例所示。
<script src=”https://unpkg.com/json5@^2.0.0/dist/index.min.js”></script>
上面介绍的js文件创建了一个全局的JSON5对象。示例代码如下。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JavaScript</title>
</head>
<body>
<script src="https://unpkg.com/json5@^2.0.0/dist/index.min.js"></script>
<script>
var arr = {
// ウェブサイト名
"name": "IT基礎",
// ウェブサイトURL
"url": "https://it-kiso.com/",
"course": "JSON チュートリアル",
// 0=有料; 1=無料
"charge": 1,
// チュートリアルリスト
"list": [
"JSONデータの種類",
"JSONオブジェクト",
"JSON配列"
],
"message": {
"code": 0,
"message": "OK",
/*
id = ユーザーID
type = 0=正常; 1=異常
name = 名前
createTime = 作成日時(yyyy-MM-dd)
*/
"data": {
"id": "12345",
"type": 0,
"name": "私の名前",
"createTime": "2020-05-20"
}
}
};
var str = JSON5.stringify(arr);
console.log(arr)
</script>
</body>
</html> 此外,您还可以通过 Node.js 安装 JSON5。安装命令为:
npm 安装 json5
安装成功后,您可以使用const JSON5 = require('json5')创建全局 JSON5 对象,如下例所示。




![2021 年如何设置 Raspberry Pi Web 服务器 [指南]](https://i0.wp.com/pcmanabu.com/wp-content/uploads/2019/10/web-server-02-309x198.png?w=1200&resize=1200,0&ssl=1)

