1. 什么是 JSON

概念 : JSON 的英文全称是 JavaScript ObjEct Notation, 即 "JavaScript 对象表示法" .

简单来讲 : JSON 就是Javascript对象和数组的字符串表示法,它使用文本表示一个JS对象或数组的信息 , 因此 , JSON的本质是字符串。

作用 : JSON是一种轻量级的文本数据交换格式,在作用上类似于XML,专门用于存储和传输数据,但是 JSON 比 XML 更小、更快、更易解析。

现状 : JSON 是在 2001 年开始被推广和使用的数据格式, 到现今为止, JSON 已经成为了主流的数据交换格式 .

2. JSON 的两种数据结构

JSON就是用字符串来表示Javascript 的对象和数组。所以,JSON中包含对象和数组两种结构,通过这两种结构的相互嵌套,可以表示各种复杂的数据结构。

对象结构:对象结构在JSON 中表示为{},括起来的内容。数据结构为{key.: value, key: value, ....的键值对结构。其中,key必须是使用英文的双引号包裹的字符串,value的数据类型可以是数字、字符串、布尔值、null、数组、对象6种类型。

错误的写法

正确的写法

数组结构 : 数组结构在JSON中表示为[]括起来的内容。数据结构为[ "java", "javascript", 30, true...] .数组中数据的类型可以是数字、字符串、布尔值、null、数组、对象6种类型。

3. JSON 语法注意事项 (重要)

1. 属性名必须使用双引号包裹

2. 字符串类型的值必须使用双引号包裹

3. JSON中不允许使用单引号表示字符串

4. JSON中不能写注释

5. JSON的最外层必须是对象或数组格式

6. 不能使用undefined或函数作为JSON的值

JSON的作用:在计算机与网络之间存储和传输数据。

JSON的本质:用字符串来表示Javascript对象数据或数组数据

4. JSON 和 JS 对象的关系

JSON 是 JS 对象的字符串表示法, 它使用文本表示一个 JS 对象的信息, 本质是一个字符串. 例如 :

5. JSON 和 JS对象的互转

要实现从 JSON 字符串转换为 JS 对象, 使用 JSON.parse() 方法:

要实现从 JS 对象转换为 JSON 字符串, 使用 JSON.stringify()方法 :

6. 序列化和反序列化 (面试会问)

数据对象转换为字符串的过程, 叫做序列化, 例如 : 调用 JSON.stringify() 函数的操作, 叫做 JSON 序列化.

字符串转换为数据对象那个的过程, 叫做反序列化, 例如 : 调用 JSON.parse() 函数的操作, 叫做 JSON 反序列化.

数据交换格式 JSON的更多相关文章

  1. 数据交换格式 —— JSON(JavaScript Object Notation)

    当请求 headers 中,添加一个name为 Accept,值为 application/json 的 header(也即"我"(浏览器)接收的是 json 格式的数据),这样, ...

  2. 数据交换格式Json与XML

    什么是数据交换格式: 主流的有Json.XML.HTML. 数据交换格式的应用场景: 移动端(安卓,IOS)通讯方式采用http协议+Json格式的restful风格. 很多互联网公司都是用Http协 ...

  3. 常用两种数据交换格式之XML和JSON的比较

    目前,在web开发领域,主要的数据交换格式有XML和JSON,对于XML相信每一个web developer都不会感到陌生: 相比之下,JSON可能对于一些新步入开发领域的新手会感到有些陌生,也可能你 ...

  4. XML和JSON两种数据交换格式的比较

    在web开发领域,主要的数据交换格式有XML和JSON,对于在 Ajax开发中,是选择XML还是JSON,一直存在着争议,个人还是比较倾向于JSON的.一般都输出Json不输出xml,原因就是因为 x ...

  5. 数据交换格式XML和JSON对比

    1.简介: XML:extensible markup language,一种类似于HTML的语言,他没有预先定义的标签,使用DTD(document type definition)文档类型定义来组 ...

  6. 【学习】006数据交换格式与SpringIOC底层实现

    课程目标 XML和JSON Java反射机制 手写SpringIOC 什么是数据交换格式 客户端与服务器常用数据交换格式xml.json.html 数据交换格式用场景 移动端(安卓.IOS)通讯方式采 ...

  7. 在.NET使用JSON作为数据交换格式

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://zhoufoxcn.blog.51cto.com/792419/517093 我们 ...

  8. json 数据交换格式与java

    http://wiki.mbalib.com/wiki/数据交换 数据交换是指为了满足不同信息系统之间数据资源的共享需要,依据一定的原则,采取相应的技术,实现不同信息系统之间数据资源共享的过程. 数据 ...

  9. servlet与ajax数据交换(json格式)

    JSON数据格式: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式. 易于人阅读和编写.同时也易于机器解析和生成. 它基于的一个子集. JSON采用完全独 ...

随机推荐

  1. 解释Spring支持的几种bean的作用域?

    Spring框架支持以下五种bean的作用域: singleton :bean在每个Spring ioc 容器中只有一个实例. prototype:一个bean的定义可以有多个实例. request: ...

  2. 使用Spring通过什么方式访问Hibernate?

    在Spring中有两种方式访问Hibernate: 控制反转 Hibernate Template和 Callback. 继承 HibernateDAOSupport提供一个AOP 拦截器.

  3. spring中bean的五种作用域?Spring中的bean是线程安全的吗?

    spring中bean的五种作用域 当通过spring容器创建一个Bean实例时,不仅可以完成Bean实例的实例化,还可以为Bean指定特定的作用域.Spring支持如下5种作用域: singleto ...

  4. 顺利通过EMC实验(7)

  5. PCB产业链、材料、工艺流程详解(1)

    PCB知识大全 1.什么是pcb,用来干什么? PCB( Printed Circuit Board),中文名称为印制电路板,又称印刷线路板,是重要的电子部件,是电子元器件的支撑体,是电子元器件电气连 ...

  6. JavaScript & 6小时了解ES6基本语法

    一步一步似爪牙. 前言 学习es6之前我们可能并不知道es6相比es5差距在哪, 但是这并不妨碍我们站在巨人的肩膀上; 程序员就是要乐于尝鲜; 学习es6最终目的是结合es5 一起进行工程项目开发, ...

  7. python-使用函数求余弦函数的近似值

    本题要求实现一个函数,用下列公式求cos(x)近似值,精确到最后一项的绝对值小于eps(绝对值小于eps的项不要加): cos(x)=0!x0​−2!x2​+4!x4​−6!x6​+... 函数接口定 ...

  8. Hadoop真分布式实现SSH免密登录

    首先需要两台服务器(CentOS安装Linux见:https://www.cnblogs.com/syq816/p/12355115.html) 伪分布式的搭建见:https://www.cnblog ...

  9. 适配手机端rpx像素

    <script src="static/js/adaptive.js"></script> <script type="text/javas ...

  10. Python raise...from... 是啥?

    调试程序时看某些库的源代码,发现有如下代码读不懂,不理解后面这个from干什么用的. try: ... except KeyError: raise **Error('') from None try ...