JSON的了解

1. 什么是JSON

JSON:JavaScript 对象表示法(JavaScript Object Notation)。
JSON 是存储和交换文本信息的语法。类似 XML,比 XML 更小、更快,更易解析, 是轻量级的文本数据交换格式
JSON 独立于语言 .,具有自我描述性,更易理解
例:

{
"employees": [
		{ "firstName":"Bill" , "lastName":"Gates" },
		{ "firstName":"George" , "lastName":"Bush" },
		{ "firstName":"Thomas" , "lastName":"Carter" }
	]
}

JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。
JSON 解析器和 JSON 库支持许多不同的编程语言。

JSON 语法规则

花括弧,方括弧,冒号和逗号

  1. 花括弧表示一个“容器”
  2. 方括号装载数组
  3. 名称和值用冒号隔开
  4. 数组元素通过逗号隔开
2. JSON和XML的区别

相同的地方:

  1. 它们都“自我描述”,这意味着值都是可列举的,是“人类可读”的.
  2. 都是有层级的。(例如你可以在值里再存放值).
    3.都能被多种的编程语言解析和使用.
  3. 都能使用AJAX方法来传递(例如httpWebRequest).
    不同的地方:
  4. XML里在元素的开始和结尾处有尖括号和标签名:JSON使用花括号,而且只在数据的开始和结束时使用.
  5. JSON更简练,毫无疑问更适合人类书写,也许也能让我们更快速的阅读.
  6. JSON可以在JavaScript里简单的传递到eval()方法里使用.
  7. JSON里有数组{每个元素没有自己的名称.}
  8. 在XML里你可以对一个元素使用任意想要的名称,在JSON里你不能使用Javascript里的保留字
3. JSON和XML的对比

XML方式:

  1. 取回一个XML文件.
  2. 循环它,从中提取值.
  3. 处理这些值,等.

JSON方式:

  1. 取回JSON字符串.
  2. eval’ JSON数据.
4. JSON格式

JSON 对象

{ "firstName":"John" , "lastName":"Doe" }

在花括号中书写:对象可以包含多个名称/值对,于下面 js 语句等价

firstName = "John"
lastName = "Doe"

JSON 数组

{
"employees": [
		{ "firstName":"John" , "lastName":"Doe" },
		{ "firstName":"Anna" , "lastName":"Smith" },
		{ "firstName":"Peter" , "lastName":"Jones" }
	]
}

数组可包含多个对象
对象 “employees” 是包含三个对象的数组,每个对象代表一条关于某人(有姓和名)的记录
下面使用 js 语法实现,因为 JSON 使用 JavaScript 语法,所以无需额外的软件就能处理 JavaScript 中的 JSON。

var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];
5. 转义概述

在js中我们使用的js对象进行处理,但是在与后端数据交换的时候,我们发送规定的json格式的字符串,所以在给后端发送或接受数据的时候,需要转义

{name:"myname",password:123456}
"{"name":"myname","password":123456}"

其中json字符串转js对象,调用parse方法:

js对象 = JSON.parse(json字符串);

js对象转json字符串,调用stringify方法:

json字符串 = JSON.stringify(js对象);
总结
  1. 向后台传输数据要用: json字符串格式,如果是一个对象要先用JSON.stringify()转义,转义成为字符串才能将数据传给后端。
  2. 后端传过来的字符串数据要转义成为一个对象: 用JSON.parse()方法转义。

了解JSON点JSON官网看看Json对象和Json字符串的区别看这里加深JSON理解和使用看这里