知识分享之规范——什么是JSON
背景
知识分享之规范类别是我进行整理的日常开发使用的各类规范说明,作为一个程序员需要天天和各种各样的规范打交道,而有些规范可能我们并不是特别了解,为此我将一些常见的规范均整理到知识分享之规范系列中,便于小伙伴们快速翻阅学习。
参考文献
概念
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。 它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。
结构
key/value”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
image.png
上面是官方提供的说明,简单来讲JSON是一种常用的、易于阅读的数据格式(规则),由上图可以确定第一种基础格式:
{
"userName" : "张三",
"pwd" : "123456"
}
这里的值可以支持多种:string、number、object、array、bool、null等类型
每个key(name)下的value,我们可以放置上述的这些类型,例如:
{
"userName": "张三",
"pwd": "ab123456",
"role": [{
"menuId": 1,
"menuName": "菜单1",
"menuSort": 1.01,
"menuState": true,
"menuIcon": null
},
{
"menuId": 2,
"menuName": "菜单2",
"menuSort": 1.1,
"menuState": false,
"menuIcon": null
}
]
}

这里注意,我们在使用array时是使用的[]进行标记开始与结束的,而数组中每个对象是使用的{}来标识的,对象中的每个key/value依旧延续最顶部的规则图格式进行。
在JSON中也存在转义符,转义符同样是使用反斜杠(\)转义

好了本节就分享到这里,更多详细可以参考本文中提到的官方文档
本文声明:

知识共享许可协议
本作品由 cn華少 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。
网友评论