JavaScript、JSON
1.简介
JSON(JavaScript Object Notation),是一种轻量级的数据交换格式,JSON是一种独立的语言。JSON是用于存储和传输数据的格式,通常用于服务端向网页传递数据。
JSON使用JavaScript语法,但是JSON格式仅仅是一个文本,可以被任何编程语言读取及作为数据式传递。
2.实例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JSON</title>
</head>
<body>
<script>
var x = {"sites":[
//以下JSON语法定义了site对象:3条网站信息(对象)的数组:
{"name":"Alan_Lowe","url":"https://blog.csdn.net/qq_45985728"},
{"name":"Google", "url":"www.google.com"},
{"name":"Taobao", "url":"www.taobao.com"}
]}
</script>
</body>
</html>
这是定义了sites对象,它是一个对象数组。
JSON在语法上与创建JavaScript对象代码相同,JavaScript程序可以很容易的将JSON数据转换为JavaScript对象。
3.语法规则
- 数据也是键值对(类似于C++的map等)
- 数据由逗号分隔
- 大括号保存对象
- 方括号保存数组
- 键值都应该放在双引号中,中间加一个冒号
4.JSON字符串转换为JavaScript对象|JSON.parse()
通常我们从服务器中读取 JSON 数据,并在网页中显示数据。简单起见,我们网页中直接设置 JSON 字符串首先,创建 JavaScript 字符串,字符串为 JSON 格式的数据:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JSON</title>
</head>
<body>
<script>
var x = {"sites":[
{"name":"Alan_Lowe","url":"https://blog.csdn.net/qq_45985728"},
{"name":"Google", "url":"www.google.com"},
{"name":"Taobao", "url":"www.taobao.com"}
]}
// s就是x的字符串化
var s = '{"sites":['
+ '{"name":"Alan_Lowe","url":"https://blog.csdn.net/qq_45985728"},'
+ '{"name":"Google", "url":"www.google.com"},'
+ '{"name":"Taobao", "url":"www.taobao.com"}'
+ ']}'
</script>
</body>
</html>
其中s就是x的字符串化,这样操作过后,我们再使用JavaScript内置函数JSON.parse()就可以将字符串转换为JavaScript对象:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JSON</title>
</head>
<body>
<script>
var x = {"sites":[
{"name":"Alan_Lowe","url":"https://blog.csdn.net/qq_45985728"},
{"name":"Google", "url":"www.google.com"},
{"name":"Taobao", "url":"www.taobao.com"}
]}
// s就是x的字符串化
var s = '{"sites":['
+ '{"name":"Alan_Lowe","url":"https://blog.csdn.net/qq_45985728"},'
+ '{"name":"Google", "url":"www.google.com"},'
+ '{"name":"Taobao", "url":"www.taobao.com"}'
+ ']}'
// 使用JavaScript内置函数JSON.parse()就可以将字符串转换为JavaScript对象
var obj = JSON.parse(s);
document.write(obj.sites[0].name + " " + obj.sites[1].url);
</script>
</body>
</html>
5.JSON.stringify()
这个函数可以将JavaScript值转换为JSON字符串:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>JSON</title>
</head>
<body>
<script>
var x = {"sites":[
{"name":"Alan_Lowe","url":"https://blog.csdn.net/qq_45985728"},
{"name":"Google", "url":"www.google.com"},
{"name":"Taobao", "url":"www.taobao.com"}
]}
// s就是x的字符串化
var s = '{"sites":['
+ '{"name":"Alan_Lowe","url":"https://blog.csdn.net/qq_45985728"},'
+ '{"name":"Google", "url":"www.google.com"},'
+ '{"name":"Taobao", "url":"www.taobao.com"}'
+ ']}'
// 使用JavaScript内置函数JSON.parse()就可以将字符串转换为JavaScript对象
var obj = JSON.parse(s);
document.write(obj.sites[0].name + " " + obj.sites[1].url);
// 使用JSON.stringify()函数可以将JavaScript值转换为JSON对字符串
var ss = JSON.stringify(x);
document.write(ss);
</script>
</body>
</html>
人生没有白走的路,每一步都算数!