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>
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>