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 相关文章推荐
mailto的使用技巧分享
Dec 21 Javascript
jquery配合css简单实现返回顶部效果
Sep 30 Javascript
JavaScript中的Math.sin()方法使用详解
Jun 15 Javascript
在JavaScript中如何解决用execCommand(
Oct 19 Javascript
jQuery判断元素是否显示 是否隐藏的简单实现代码
May 19 Javascript
基于JQuery实现图片上传预览与删除操作
May 24 Javascript
让你一句话理解闭包(简单易懂)
Jun 03 Javascript
JSON与String互转的实现方法(Javascript)
Sep 27 Javascript
Bootstrap文件上传组件之bootstrap fileinput
Nov 25 Javascript
vue通过路由实现页面刷新的方法
Jan 25 Javascript
Koa2 之文件上传下载的示例代码
Mar 29 Javascript
解决vue-cli webpack打包后加载资源的路径问题
Sep 25 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
apache配置虚拟主机的方法详解
2013/06/17 PHP
JSDoc 介绍使用规范JsDoc的使用介绍
2011/02/12 Javascript
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
2011/03/28 Javascript
js Select下拉列表框进行多选、移除、交换内容的具体实现方法
2013/08/13 Javascript
JavaScript数据结构与算法之链表
2016/01/29 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
2016/04/14 Javascript
再谈javascript注入 黑客必备!
2016/09/14 Javascript
KnockoutJS 3.X API 第四章之数据控制流with绑定
2016/10/10 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
JS基于正则表达式的替换操作(replace)用法示例
2017/04/28 Javascript
详解node服务器中打开html文件的两种方法
2017/09/18 Javascript
在vue中添加Echarts图表的基本使用教程
2017/11/22 Javascript
webpack vue 项目打包生成的文件,资源文件报404问题的修复方法(总结篇)
2018/01/09 Javascript
支付宝小程序自定义弹窗dialog插件的实现代码
2018/11/30 Javascript
详解React项目如何修改打包地址(编译输出文件地址)
2019/03/21 Javascript
angular多语言配置详解
2019/05/16 Javascript
vue自定义表单生成器form-create使用详解
2019/07/19 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
Vue.js中使用Vuex实现组件数据共享案例
2020/07/31 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
Django小白教程之Django用户注册与登录
2016/04/22 Python
Python实现多进程共享数据的方法分析
2017/12/04 Python
Python读写文件基础知识点
2019/06/10 Python
使用pyecharts生成Echarts网页的实例
2019/08/12 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
Python实现搜索算法的实例代码
2020/01/02 Python
python-sys.stdout作为默认函数参数的实现
2020/02/21 Python
浅谈django 重载str 方法
2020/05/19 Python
Python如何使用正则表达式爬取京东商品信息
2020/06/01 Python
中国最大的名表商城:万表网
2016/08/29 全球购物
Lou & Grey美国官网:主打舒适性面料服饰
2017/12/21 全球购物
params有什么用
2016/03/01 面试题
《珍珠泉》教学反思
2014/02/20 职场文书
安全生产大检查方案
2014/05/07 职场文书
员工激励培训演讲稿
2014/09/16 职场文书
vue项目配置sass及引入外部scss文件
2022/04/14 Vue.js