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 $.each的用法说明
Mar 22 Javascript
基于JQuery的多标签实现代码
Sep 19 Javascript
js日期联动示例
May 02 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
May 29 Javascript
js改变html的原有内容实现方法
Oct 05 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
Nov 09 Javascript
jQuery+ajax实现动态添加表格tr td功能示例
Apr 23 jQuery
了解ESlint和其相关操作小结
May 21 Javascript
angular2 ng2-file-upload上传示例代码
Aug 23 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
Jan 20 Javascript
微信小程序vant弹窗组件的实现方式
Feb 21 Javascript
vue3.0 加载json的方法(非ajax)
Oct 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
PHP生成压缩文件实例
2015/02/07 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
基于JQuery的cookie插件
2010/04/07 Javascript
JQuery自适应IFrame高度(支持嵌套 兼容IE,ff,safafi,chrome)
2011/03/28 Javascript
jQuery div层的放大与缩小简单实现代码
2013/03/28 Javascript
Extjs3.0 checkboxGroup 动态添加item实现思路
2013/08/14 Javascript
javascript解析json数据的3种方式
2014/05/08 Javascript
JavaScript保存并运算页面中数字类型变量的写法
2015/07/06 Javascript
jQuery.prop() 使用详解
2015/07/19 Javascript
基于Layer+jQuery的自定义弹框
2020/05/26 Javascript
JavaScript实现简单精致的图片左右无缝滚动效果
2017/03/16 Javascript
js实现水平滚动菜单导航
2017/07/21 Javascript
vue实现单选和多选功能
2017/08/11 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
如何实现小程序tab栏下划线动画效果
2019/05/18 Javascript
python对url格式解析的方法
2015/05/13 Python
Python json 错误xx is not JSON serializable解决办法
2017/03/15 Python
python 实现交换两个列表元素的位置示例
2019/06/26 Python
Python 导入文件过程图解
2019/10/15 Python
tensorflow之自定义神经网络层实例
2020/02/07 Python
python实现一个简单RPC框架的示例
2020/10/28 Python
Unix控制后台进程都有哪些进程
2016/09/22 面试题
机电专业体育教师求职信
2013/09/21 职场文书
信息技术专业个人自我评价
2013/12/11 职场文书
优秀教师工作感言
2014/02/16 职场文书
经典公益广告词
2014/03/13 职场文书
《沉香救母》教学反思
2014/04/19 职场文书
运动会口号大全
2014/06/07 职场文书
物理学专业求职信
2014/07/04 职场文书
社区安全生产月活动总结
2014/07/05 职场文书
个人公司授权委托书范本
2014/10/12 职场文书
故意杀人罪辩护词
2015/05/21 职场文书
冰雪公主观后感
2015/06/16 职场文书
无婚姻登记记录证明
2015/06/18 职场文书
银行大堂经理培训心得体会
2016/01/09 职场文书
2019脱贫攻坚工作总结报告范本!
2019/08/06 职场文书