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. python 常用内置函数简介

    1.作用域相关内置函数globals()--获取全局变量的字典locals()--获取执行本方法所在命名空间内的局部变量的字典 2.和调用相关callable(o),o是参数,看这个变量是不是可调用. ...

  2. SQL语句分为哪几种?

    SQL语句主要可以划分为以下几类: DDL(Data Definition Language):数据定义语言,定义对数据库对象(库.表.列.索引)的操作. 包括:CREATE.DROP.ALTER.R ...

  3. POI Excel索引是从0还是1开始??

    this.workbook.getSheetAt(1).getFirstRowNum() // == 0 this.workbook.getSheetAt(1).getLastRowNum() // ...

  4. 构造器(constructor)是否可被重写(override)?

    构造器不能被继承,因此不能被重写,但可以被重载.

  5. DispatcherServlet?

    Spring的MVC框架是围绕DispatcherServlet来设计的,它用来处理所有的HTTP请求和响应.

  6. 转:为什么数据库选B-tree或B+tree而不是二叉树作为索引结构

    转载至:https://blog.csdn.net/sinat_27602945/article/details/80118362 B-Tree就是我们常说的B树,一定不要读成B减树,否则就很丢人了. ...

  7. 两个相同的对象会有不同的的 hash code 吗?

    不能,根据 hash code 的规定,这是不可能的.

  8. centos安装服务参考博客,亲测可用

    centos 安装nginx参考 日志log报错 nginx -c /etc/nginx/nginx.conf https://blog.csdn.net/weixin_41004350/articl ...

  9. Linux 安装jdk1.8

    Linux安装jdk1.8 总结一句话就是:下载jdk1.8 ==> 解压 ==> 配置环境变量. 一.  jdk的下载,这里有两种方法: 1.去Oracle官网下载. 2.jdk1.8的 ...

  10. 『现学现忘』Docker基础 — 37、ONBUILD指令介绍

    目录 1.ONBUILD指令说明 2.演示ONBUILD指令的使用 3.补充:crul命令解释 1.ONBUILD指令说明 ONBUILD是一个特殊的指令,它后面跟的是其它指令,比如 RUN, COP ...