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 相关文章推荐
Jquery实现自定义弹窗示例
Mar 12 Javascript
javascript中HTMLDOM操作详解
Dec 11 Javascript
编写高性能Javascript代码的N条建议
Oct 12 Javascript
微信小程序进行微信支付的步骤昂述
Dec 01 Javascript
JS实现简易刻度时钟示例代码
Mar 11 Javascript
JS对象的深度克隆方法示例
Mar 16 Javascript
解决vue build打包之后首页白屏的问题
Mar 06 Javascript
详解如何使用koa实现socket.io官网的例子
Nov 04 Javascript
Angular7创建项目、组件、服务以及服务的使用
Feb 19 Javascript
原生JS使用Canvas实现拖拽式绘图功能
Jun 05 Javascript
微信小程序HTTP接口请求封装代码实例
Sep 05 Javascript
vue-cli在 history模式下的配置详解
Nov 26 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
异世界新番又来了,同样是从零开始,男主的年龄降到5岁
2020/04/09 日漫
解析PHP的session过期设置
2013/06/29 PHP
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
8个必备的PHP功能实例代码
2013/10/27 PHP
php中smarty实现多模版网站的方法
2015/06/11 PHP
PHP函数checkdnsrr用法详解(Windows平台用法)
2016/03/21 PHP
用js模拟JQuery的show与hide动画函数代码
2010/09/20 Javascript
jquery.ui.draggable中文文档(原文翻译)
2013/11/15 Javascript
通过$(this)使用jQuery包装后的方法或属性
2014/05/18 Javascript
javascript中HTMLDOM操作详解
2014/12/11 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
jQuery实现提示密码强度的代码
2015/07/15 Javascript
jquery可定制的在线UEditor编辑器
2015/11/17 Javascript
jQuery操作基本控件方法实例分析
2015/12/31 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
Bootstrap下拉菜单样式
2017/02/07 Javascript
使用vue.js实现checkbox的全选和多个的删除功能
2017/02/17 Javascript
理解Angular的providers给Http添加默认headers
2017/07/04 Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
2018/02/22 Javascript
vue 权限认证token的实现方法
2018/07/17 Javascript
JS中的一些常用的函数式编程术语
2019/06/15 Javascript
vue抽出组件并传值实例
2020/07/31 Javascript
JS+CSS实现过渡特效
2021/01/02 Javascript
[40:12]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
numpy.array 操作使用简单总结
2019/11/08 Python
HTML5中新标签和常用标签详解
2014/03/07 HTML / CSS
使用canvas一步步实现图片打码功能的方法
2019/06/17 HTML / CSS
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
幼儿园大班教学反思
2014/02/10 职场文书
小学端午节活动方案
2014/03/13 职场文书
会计专业毕业生求职信
2014/07/04 职场文书
会计专业求职信
2014/08/10 职场文书
优秀纪检干部材料
2014/08/27 职场文书
政风行风自查自纠报告
2014/10/21 职场文书