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 相关文章推荐
经验几则 推荐
Sep 05 Javascript
表单元素与非表单元素刷新区别详细解析
Nov 06 Javascript
基于jquery异步传输json数据格式实例代码
Nov 23 Javascript
JavaScript 开发工具webstrom使用指南
Dec 09 Javascript
详解JavaScript中getFullYear()方法的使用
Jun 10 Javascript
基于BootStrap的图片轮播效果展示实例代码
May 23 Javascript
jquery自适应布局的简单实例
May 28 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
Jun 07 Javascript
Vue2 SSR渲染根据不同页面修改 meta
Nov 20 Javascript
vue单个组件实现无限层级多选菜单功能
Apr 10 Javascript
简述JS浏览器的三种弹窗
Jul 15 Javascript
如何根据业务封装自己的功能组件
Apr 19 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常用函数 推荐收藏保存
2010/02/21 PHP
PHP中substr函数字符串截取用法分析
2016/01/07 PHP
ThinkPHP使用Smarty第三方插件方法小结
2016/03/19 PHP
PHP结合Vue实现滚动底部加载效果
2017/12/17 PHP
laravel 配置路由 api和web定义的路由的区别详解
2019/09/03 PHP
简单通用的JS滑动门代码
2008/12/19 Javascript
jQuery实现级联菜单效果(仿淘宝首页菜单动画)
2014/04/10 Javascript
js实现鼠标经过时图片滚动停止的方法
2015/02/16 Javascript
详解JavaScript中Hash Map映射结构的实现
2016/05/21 Javascript
Javascript同时声明一连串(多个)变量的方法
2017/01/23 Javascript
vue2.0 better-scroll 实现移动端滑动的示例代码
2018/01/25 Javascript
详解微信小程序的 request 封装示例
2018/08/21 Javascript
Vuejs+vue-router打包+Nginx配置的实例
2018/09/20 Javascript
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
python中sleep函数用法实例分析
2015/04/29 Python
一些Python中的二维数组的操作方法
2015/05/02 Python
在python中将字符串转为json对象并取值的方法
2018/12/31 Python
python获取交互式ssh shell的方法
2019/02/14 Python
24式加速你的Python(小结)
2019/06/13 Python
Python 50行爬虫抓取并处理图灵书目过程详解
2019/09/20 Python
使用python制作一个解压缩软件
2019/11/13 Python
让你的Python代码实现类型提示功能
2019/11/19 Python
python中count函数简单用法
2020/01/05 Python
基于python监控程序是否关闭
2020/01/14 Python
利用python3筛选excel中特定的行(行值满足某个条件/行值属于某个集合)
2020/09/04 Python
DRF使用simple JWT身份验证的实现
2021/01/14 Python
摄影助理岗位职责
2014/02/07 职场文书
大学优秀班集体申报材料
2014/05/23 职场文书
工程售后服务方案
2014/06/08 职场文书
暑假安全教育广播稿
2014/09/10 职场文书
纪念九一八爱国演讲稿600字
2014/09/14 职场文书
交通局领导班子群众路线教育实践活动对照检查材料思想汇报
2014/10/09 职场文书
2015年科协工作总结
2015/05/19 职场文书
法律意见书范文
2015/06/04 职场文书
小学教师见习总结
2015/06/23 职场文书
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技