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 相关文章推荐
仿服务器端脚本方式的JS模板实现方法
Apr 27 Javascript
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
Apr 27 Javascript
妙用Jquery的val()方法
Jun 27 Javascript
PhotoShop给图片自动添加边框及EXIF信息的JS脚本
Feb 15 Javascript
使用AngularJS 应用访问 Android 手机的图片库
Mar 24 Javascript
JS实现的鼠标跟随代码(卡通手型点击效果)
Oct 26 Javascript
jQuery中Nicescroll滚动条插件的用法
Nov 10 Javascript
jquery 实现复选框的全选操作实例代码
Jan 24 Javascript
ES6中Array.includes()函数的用法
Sep 20 Javascript
javascript浏览器用户代理检测脚本实现方法
Oct 27 Javascript
详解解决使用axios发送json后台接收不到的问题
Jun 27 Javascript
微信小程序实现联动选择器
Feb 15 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中的登陆login
2007/01/18 PHP
分享php多功能图片处理类
2016/05/15 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
Zend Framework入门教程之Zend_Db数据库操作详解
2016/12/08 PHP
zeroclipboard复制到剪切板的flash
2010/08/04 Javascript
基于jquery实现的可编辑下拉框实现代码
2014/08/02 Javascript
jQuery实现带动画效果的二级下拉导航方法
2015/03/11 Javascript
js面向对象之公有、私有、静态属性和方法详解
2015/04/17 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
2015/12/08 Javascript
jquery遍历函数siblings()用法实例
2015/12/24 Javascript
Node.js包管理器Yarn的入门介绍与安装
2016/10/17 Javascript
微信小程序  自定义创建详细介绍
2016/10/27 Javascript
js调用屏幕宽度的简单方法
2016/11/14 Javascript
JavaScript中利用for循环遍历数组
2017/01/15 Javascript
js实现自定义路由
2017/02/04 Javascript
js 显示日期时间的实例(时间过一秒加1)
2017/10/25 Javascript
jQuery插件Validation表单验证详解
2018/05/26 jQuery
Windows下支持自动更新的Electron应用脚手架的方法
2018/12/24 Javascript
[01:33]一分钟玩转DOTA2第三弹:DOTA2&DotA快捷操作大对比
2014/06/04 DOTA
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
python实现多层感知器MLP(基于双月数据集)
2019/01/18 Python
基于python实现百度翻译功能
2019/05/09 Python
Python中的支持向量机SVM的使用(附实例代码)
2019/06/26 Python
python数值基础知识浅析
2019/11/19 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
python编写俄罗斯方块
2020/03/13 Python
微信浏览器左上角返回按钮拦截功能
2017/11/21 HTML / CSS
Lampegiganten丹麦:欧洲领先的照明网上商店
2018/04/25 全球购物
如何理解委托
2012/01/06 面试题
大一期末自我鉴定
2013/12/13 职场文书
计算机毕业生自荐信范文
2014/03/23 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
工程款申请报告
2015/05/15 职场文书
职工宿舍管理制度
2015/08/05 职场文书
Nginx优化服务之网页压缩的实现方法
2021/03/31 Servers
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python