JSON基本语法及与JavaScript的异同实例分析


Posted in Javascript onJanuary 04, 2019

本文实例讲述了JSON基本语法及与JavaScript的异同。分享给大家供大家参考,具体如下:

JSON 的语法可以表达三种类型的值。

  • 简单值:与 JavaScript 语法相同,可以表示字符串、数值、布尔值以及 null,但不支持 JavaScript 的 undefined。
  • 对象(复杂数据类型):是一组有序的键值对,每个键值对中的键可以是简单值,也可以是复杂数据类型的值。
  • 数组(复杂数据类型):是一组有序的值的列表,可以使用数值索引来访问其中的值,这个值可以是任意类型(简单值、对象或数组)。

JSON 只是一种表示结构化数据的格式,虽然与 JavaScript 中表示的数据在某些语法上相同,但它不只是应用于 JavaScript 中。

1 简单值

JSON 字符串与 JavaScript 字符串的区别是:JSON 字符串只能使用双引号!而 JavaScript 中字符串还可以使用单引号。

布尔值和 null 也是有效的 JSON 字符串。在实践中,JSON 更多是用来表达更复杂的数据结构的。

2 对象

JSON 对象与 JavaScript 对象有一些不同。在 JavaScript 中的对象字面量是这样的:

var person = {
  name : "deniro",
  age :15
}

而在 JSON 中的对象必须给属性加上引号,而在 JavaScript 中倒是可加可不加:

var person = {
  "name" : "deniro",
  "age" :15
}

JSON 中的对象还有两点不同:

①. 不需要声明变量。
②. 末尾不需要加分号。

在 JSON 中的对象的属性的值,可以是简单值,也可以是复杂类型的值:

var person = {
  "name" : "deniro",
  "age" : 15,
  "school" : {
    "name" : "MIT",
    "location":"American"
  }
}

注意,同一个对象中不能出席两个同名的属性!再重复一次,JSON 对象中的所有属性名都必须加上双引号!!!

3 数组

JSON 数组采用的就是 JavaScript 中的数组字面量形式:

[15,"Hi",true]

数组与对象结合,可以构建出更复杂的数据集合:

[
  {
   "title" :"万物简史",
   "authors":[
    "比尔·布莱森"
   ],
   year:2005
  },
   {
   "title" :"父与子全集",
   "authors":[
    "埃·奥·卜劳恩"
   ],
   year:2003
  }
]

这个数组包含了表示图书的对象,每个图书对象有一个 authors 属性,它的值也是一个数组。对象和数组一般是 JSON 数据结构的最外层形式。

Javascript 相关文章推荐
JavaScript For Beginners(转载)
Jan 05 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
Feb 27 Javascript
JS动态加载当前时间的方法
Feb 09 Javascript
jQuery创建自定义的选择器用以选择高度大于100的超链接实例
Mar 18 Javascript
jquery实现页面虚拟键盘特效
Aug 08 Javascript
如何利用JSHint减少JavaScript的错误
Aug 23 Javascript
Bootstrap弹出框modal上层的输入框不能获得焦点问题的解决方法
Dec 13 Javascript
HTML5+JS+JQuery+ECharts实现异步加载问题
Dec 16 jQuery
vue和webpack打包项目相对路径修改的方法
Jun 15 Javascript
记录一次完整的react hooks实践
Mar 11 Javascript
jQuery删除/清空指定元素的所有子节点实例代码
Jul 04 jQuery
vue动画—通过钩子函数实现半场动画操作
Aug 09 Javascript
JavaScript解析及序列化JSON的方法实例分析
Jan 04 #Javascript
Node.js操作系统OS模块用法分析
Jan 04 #Javascript
Node.js console控制台简单用法分析
Jan 04 #Javascript
Node.js JSON模块用法实例分析
Jan 04 #Javascript
使用VUE+iView+.Net Core上传图片的方法示例
Jan 04 #Javascript
Node.js assert断言原理与用法分析
Jan 04 #Javascript
如何为vuex实现带参数的 getter和state.commit
Jan 04 #Javascript
You might like
php的控制语句
2006/10/09 PHP
基于curl数据采集之正则处理函数get_matches的使用
2013/04/28 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
2013/07/03 PHP
js 与或运算符 || && 妙用
2009/12/09 Javascript
javascript中Number对象的toString()方法分析
2014/12/20 Javascript
javascript简单实现类似QQ头像弹出效果的方法
2015/08/03 Javascript
浅谈JavaScript中的string拥有方法的原因
2015/08/28 Javascript
jquery ajax后台返回list,前台用jquery遍历list的实现
2016/10/30 Javascript
VueJs与ReactJS和AngularJS的异同点
2016/12/12 Javascript
angularjs实现首页轮播图效果
2017/04/14 Javascript
深入探究node之Transform
2017/07/20 Javascript
jquery对table做排序操作的实例演示
2017/08/10 jQuery
用VueJS写一个Chrome浏览器插件的实现方法
2019/02/27 Javascript
vue实现随机验证码功能(完整代码)
2019/12/10 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
[01:14:05]《加油DOTA》第四期
2014/08/25 DOTA
Python3遍历目录树实现方法
2015/05/22 Python
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
python正则表达式面试题解答
2020/04/28 Python
Python实现对字典分别按键(key)和值(value)进行排序的方法分析
2018/12/19 Python
使用python绘制二维图形示例
2019/11/22 Python
Pytorch 神经网络—自定义数据集上实现教程
2020/01/07 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
传播学专业毕业生自荐信
2013/11/04 职场文书
中专生毕业个人鉴定
2014/02/26 职场文书
班长竞选演讲稿
2014/04/24 职场文书
空气的环保标语
2014/06/12 职场文书
本科生自荐信
2014/06/18 职场文书
十佳青年事迹材料
2014/08/21 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
领导班子个人对照检查材料(群众路线)
2014/09/26 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
如何在C++中调用Python
2021/05/21 Python
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android
mysql timestamp比较查询遇到的坑及解决
2021/11/27 MySQL