1.什么是JSON?

JSON 是用于存储和传输数据的格式。

JSON 通常用于服务端向网页传递数据 。

  • JSON 英文全称 JavaScript Object Notation
  • JSON 是一种轻量级的数据交换格式。
  • JSON是独立的语言 *
  • JSON 易于理解。

JSON 格式在语法上与创建 JavaScript 对象代码是相同的。

由于它们很相似,所以 JavaScript 程序可以很容易的将 JSON 数据转换为 JavaScript 对象。


2.JSON的语法规则 

  • 数据为 键/值 对。
  • 数据由逗号分隔。
  • 大括号保存对象
  • 方括号保存数组

JSON 数据 - 一个名称对应一个值

JSON 数据格式为 键/值 对,就像 JavaScript 对象属性。

键/值对包括字段名称(在双引号中),后面一个冒号,然后是值:

"name":"baidu"

JSON 对象

 

JSON 对象保存在大括号内。

就像在 JavaScript 中, 对象可以保存多个 键/值 对:

{"name":"baidu", "url":"www.baidu.com"}

JSON 数组

JSON 数组保存在中括号内。

就像在 JavaScript 中, 数组可以包含对象:

"sites":[ {"name":"baidu", "url":"www.baidu.com"}, {"name":"Google", "url":"www.google.com"}, {"name":"Taobao", "url":"www.taobao.com"} ]

在以上实例中,对象 "sites" 是一个数组,包含了三个对象。

每个对象为站点的信息(网站名和网站地址)。

相关函数

函数

描述

JSON.parse()

用于将一个 JSON 字符串转换为 JavaScript 对象。

JSON.stringify()

用于将 JavaScript 值转换为 JSON 字符串。


3.JS和JSON之间的数据转换

3.1 实例一 

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8" />
		<title>Title</title>
	</head>
	
	<body>
		<script type="text/javascript">
			//定义一个js对象
			var obj={
				name: "宋子浩",
				age: 21,
				sex: "男"
			};
			console.log(obj);
			
			//把js对象转化为json串
			var json=JSON.stringify(obj);
			console.log(json);
			
			//把json串解析为js对象
			var str=JSON.parse(json);
			console.log(str);
			
			//定义一个json串,把json串解析为js对象
			var data='{"name":"宋子浩","age":21,"sex":"男"}';
			console.log(JSON.parse(data));
		</script>
	</body>
</html>

Java Web——JS和JSON之间的数据转换_json

3.2 实例二

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>Title</title>
	</head>
	
	<body>
		<script type="text/javascript">
			//定义一个js数组
			var obj=[{
				name: "小哥",
				age: 20,
				sex: "男"
			},{
				name: "张起灵",
				age: 20,
				sex: "男"
			}];
			console.log(obj);
			
			//把js数组转化为json串
			var json=JSON.stringify(obj);
			console.log(json);
			
			//把json串解析为js数组
			var str=JSON.parse(json);
			console.log(str);
			
			//定义一个json串,把json串解析为js数组
			var data='[{"name":"小哥","age":20,"sex":"男"},{"name":"张起灵","age":20,"sex":"男"}]';
			console.log(JSON.parse(data));
		</script>
	</body>
</html>

Java Web——JS和JSON之间的数据转换_json_02