ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

6. json--注释

2022-08-25 17:30:33  阅读:174  来源: 互联网

标签:comment 键名 -- JSON 注释 json 添加 name


1. 前言

JSON 是一种纯粹的数据交换格式,其简单、灵活的特性使得 JSON 适合被用于各种不同的场景,例如在配置文件中、在接口返回的数据中都会用到 JSON 格式。然而 JSON 却有一个非常明显的缺点,那就是 JSON 不能像编程语言那样添加注释,JSON 中的任何内容都会看作数据的一部分。

之所以不允许添加注释,是因为 JSON 主要是用来存储数据的,过多的注释会对数据的可读性造成影响,同时也会造成数据体积变大,进而影响数据传输、解析的速度。

但是,在某些场景中,我们又需要使用注释。例如在 JSON 格式的配置文件中,我们希望以注释的形式对配置信息进行解释说明;在接口返回的 JSON 数据中,我们希望通过注释描述数据的含义等等。那么我们要怎么在 JSON 数据中添加注释呢?下面就来介绍几种方法。

2. 使用特殊的键名

想要在 JSON 中添加注释,我们可以在要添加注释键/值对的前面(或后面)添加一个同名的键,并在键名中添加一个特殊字符加以区分,例如@#?_/等,然后在与键对应的值中定义注释的内容。

注意:在键名中添加特殊字符时,应尽量避免:{}[]等 JSON 中常用的字符。

下面通过一个简单的示例来演示一下如何通过特殊的键名在 JSON 中添加注释:

 1 {
 2     "@name": "网站名称",
 3     "name": "百度网址",
 4     "_url": "网址",
 5     "url": "https://www.baidu.com/",
 6     "course": "JSON 教程",
 7     "@charge": "0=收费; 1=免费",
 8     "charge": 1,
 9     "#list": "教程目录",
10     "list": [
11         "JSON数据类型",
12         "JSON对象",
13         "JSON数组"
14     ],
15     "message": {
16         "code": 0,
17         "message": "OK",
18         "#data": {
19             "#id": "用户ID",
20             "#type": "0=正常; 1=异常",
21             "#name": "姓名",
22             "#createTime": "创建时间(yyyy-MM-dd)"
23         },
24         "data": {
25             "id": "12345",
26             "type": 0,
27             "name": "我的名字",
28             "createTime": "2022-05-20"
29         }
30     }
31 } 

除了可以在键名中添加特殊字符外,也可以直接以“comment”、“_comment” 或 “__comment”作为键名来定义注释,如下例所示:

1 {
2     "_comment": "这是注释,这是注释",
3     "course": {
4         "name": "JSON 教程",
5         "url": "https://www.baidu.com/"
6     }
7 }

 

标签:comment,键名,--,JSON,注释,json,添加,name
来源: https://www.cnblogs.com/jiajunling/p/16625016.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有