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高级程序设计
Dec 29 Javascript
javascript iframe内的函数调用实现方法
Jul 19 Javascript
JavaScript ECMA-262-3 深入解析.第三章.this
Sep 28 Javascript
红米手机抢购的js代码
Mar 10 Javascript
javascript面向对象之定义成员方法实例分析
Jan 13 Javascript
JS中使用apply方法通过不同数量的参数调用函数的方法
May 31 Javascript
vue中本地静态图片路径写法
Mar 06 Javascript
Vue2 轮播图slide组件实例代码
May 31 Javascript
Vue监听事件实现计数点击依次增加的方法
Sep 26 Javascript
小程序点击图片实现自动播放视频
May 29 Javascript
浅谈Vue SSR中的Bundle的具有使用
Nov 21 Javascript
原生JS实现相邻月份日历
Oct 13 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 获取mysql数据库信息代码
2009/03/12 PHP
php操作(删除,提取,增加)zip文件方法详解
2015/03/12 PHP
PHP中异常处理的一些方法整理
2015/07/03 PHP
jQuery控制输入框只能输入数值的小例子
2013/03/20 Javascript
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
2015/04/29 Javascript
基于JavaScript实现div层跟随滚动条滑动
2016/01/12 Javascript
基于JavaScript实现快速转换文本语言(繁体中文和简体中文)
2016/03/07 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
详解AngularJs中$resource和restfu服务端数据交互
2016/09/21 Javascript
jQuery简单自定义图片轮播插件及用法示例
2016/11/21 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
微信小程序 天气预报开发实例代码源码
2017/01/20 Javascript
jQuery插件HighCharts实现的2D面积图效果示例【附demo源码下载】
2017/03/15 Javascript
Bootstrap 网格系统布局详解
2017/03/19 Javascript
javascript实现简易聊天室
2019/07/12 Javascript
Vue实现简单的跑马灯
2020/05/25 Javascript
Python 'takes exactly 1 argument (2 given)' Python error
2016/12/13 Python
一个Python最简单的接口自动化框架
2018/01/02 Python
Python实现图片尺寸缩放脚本
2018/03/10 Python
关于python下cv.waitKey无响应的原因及解决方法
2019/01/10 Python
window环境pip切换国内源(pip安装异常缓慢的问题)
2019/12/31 Python
django 连接数据库出现1045错误的解决方式
2020/05/14 Python
关于多种方式完美解决Python pip命令下载第三方库的问题
2020/12/21 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
仿CSDN Blog返回页面顶部功能实现原理及代码
2013/06/30 HTML / CSS
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
水产养殖学应届生求职信
2013/09/29 职场文书
运动会演讲稿
2014/05/07 职场文书
园林系毕业生求职信
2014/06/23 职场文书
党员评议自我评价
2015/03/03 职场文书
运动会通讯稿100字
2015/07/20 职场文书
2016年4月份红领巾广播稿
2015/12/21 职场文书
写给消防战士们的一封慰问信
2019/10/07 职场文书
Html5获取用户当前位置的几种方式
2022/01/18 HTML / CSS
Vue h函数的使用详解
2022/02/18 Vue.js
微信小程序 WeUI扩展组件库的入门教程
2022/04/21 Javascript