哎哟,这就是JSON

发布时间:2019-08-07 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了哎哟,这就是JSON脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

写这篇文章的缘由

了解JSON嘛?JSON是JavaScript中对象嘛?JSON可以存储function对象嘛?JSON的本质是什么呢?JSON能写注释嘛?
如果你都能答上来,那恭喜你,你对JSON了解的很测底,如果你有写不太明白,哪有必要和我一起来探讨JSON

我之前对JSON的概念也是一知解,常常和JavaScript的Object对象混淆,所以就导致了很多种种的错误,特别是在研究NodeJS中,有一个叫package.json的文件专门用来存储json格式的数据。如果你在这个文件里面写注释,或者存储函数,最终解析这个文件时就会报错。

然后自己查阅了些相关的资料,得出些结论。现在拿出来和大家分享一下,同时,假如文章中有纰漏的地方,大家可以帮我指点纠正下。

JSON是什么

首先我们来看看官方是怎么描述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成为理想的数据交换语言。参考来地址:http://www.json.org/json-zh.html

官方的说法,也不是特别的明了,只说明了这是一种轻量级的数据交换格式,且基于JavaScript一个子集。这根本说明不了什么?不过我联想到了另外一种数据交换格式,那就是XMl,这个格式特别在webService中被大量使用。xML是什么呢,其本质是一种DOM结构。对比一下,那json本质就是字符串了,不过这个字符串不是不同的字符串,它有一些列的语法和结构。下面我们就介绍下其语法。

JSON的语法介绍

常见JSON数据结构有两种形式,其分别是:

  • “名称/值”对的集合,类似JavaScript中的对象。
  • 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

首先来看第一种情况:对象是一个无序的“‘名称/值’对”集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“‘名称/值’ 对”之间使用“,”(逗号)分隔。

哎哟,这就是JSON

这和JavaScript中的对象字面量比较类似,但是本质上还是有些区别的。比如对象中的名称(或者称为key)是必须用双引号括起来的。单引号都不行,更别说忽略它了,虽然JavaScript中的对象中的名称值常常忽略双引号。比如