django-ajax
Posted 一只丶顽皮猫
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django-ajax相关的知识,希望对你有一定的参考价值。
Ajax准备知识:json
什么是json?
JSON(javascript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。
它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
3
1
JSON(JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。
2
它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
3
简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
讲json对象,不得不提到JS对象:
json:数据交换格式
json是JS的子集
json只认双引号
json一定是一个字符串
["one", "two", "three"]
{ "one": 1, "two": 2, "three": 3 }
{"names": ["张三", "李四"] }
[ { "name": "张三"}, {"name": "李四"}
4
1
["one", "two", "three"]
2
{ "one": 1, "two": 2, "three": 3 }
3
{"names": ["张三", "李四"] }
4
[ { "name": "张三"}, {"name": "李四"}
json字符串需要注意的
属性名必须是双引号
不能使用十六进制数
不能使用undefined
不能使用函数和日期对象
5
1
属性名必须是双引号
2
不能使用十六进制数
3
不能使用undefined
4
不能使用函数和日期对象
5
stringify与parse方法
在html前端页面中可以使用
1.JSON.stringify()
JSON.stringify() #将用于将JavaScript值转换为JSON字符串
var data=JSON.stringify(\'{name:"Yang"}\')
2
1
JSON.stringify() #将用于将JavaScript值转换为JSON字符串
2
var data=JSON.stringify(\'{name:"Yang"}\')
2.JSON.parse()
JSON.parse() #将用于将JSON字符串转换为JavaScript对象
var data=JSON.parse(\'{"name":"Yang"}\')
2
1
JSON.parse() #将用于将JSON字符串转换为JavaScript对象
2
var data=JSON.parse(\'{"name":"Yang"}\')
示例:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script>
var date=JSON.stringify(\'{name:"Yang"}\'); #序列化
console.log(date);
console.log(typeof date); #string json字符串
var date1=JSON.parse(\'{"name":"Yang"}\'); #反序列化
console.log(date1);
console.log(typeof date1) #object json对象
</script>
</head>
<body>
</body>
</html>
18
1
2
<html lang="en">
3
<head>
4
<meta charset="UTF-8">
5
<title>Title</title>
6
<script>
7
var date=JSON.stringify(\'{name:"Yang"}\'); #序列化
8
console.log(date);
9
console.log(typeof date); #string json字符串
10
var date1=JSON.parse(\'{"name":"Yang"}\'); #反序列化
11
console.log(date1);
12
console.log(typeof date1) #object json对象
13
</script>
14
</head>
15
<body>
16
17
</body>
18
</html>
输出结果:
AJAX和XML的区别
JSON格式是于2001年由Douglas Crockford提出,目的就是取代繁琐笨重的XML格式。
JSON格式有两个显著的有点:书写简单,一目了然;符合JavaScript原生语法,可以由解释引擎直接处理,不用另外添加解析代码,所以JSON迅速被接受,已经成为各大网站交互数据的标准格式,并被写如ECMAScript5,成为标准的一部分。
XML和JSON都使用结构化方法来标记数据,下面来做一个简单的比较
用XML表示中国部分省市数据:
<?xml version="1.0" encoding="utf-8"?>
<country>
<name>中国</name>
<province>
<name>黑龙江</name>
<cities>
<city>哈尔滨</city>
<city>大庆</city>
</cities>
</province>
<province>
<name>广东</name>
<cities>
<city>广州</city>
<city>深圳</city>
<city>珠海</city>
</cities>
</province>
<province>
<name>台湾</name>
<cities>
<city>台北</city>
<city>高雄</city>
</cities>
</province>
<province>
<name>新疆</name>
<cities>
<city>乌鲁木齐</city>
</cities>
</province>
</country>
32
1
2
<country>
3
<name>中国</name>
4
<province>
5
<name>黑龙江</name>
6
<cities>
7
<city>哈尔滨</city>
8
<city>大庆</city>
9
</cities>
10
</province>
11
<province>
12
<name>广东</name>
13
<cities>
14
<city>广州</city>
15
<city>深圳</city>
16
<city>珠海</city>
17
</cities>
18
</province>
19
<province>
20
<name>台湾</name>
21
<cities>
22
<city>台北</city>
23
<city>高雄</city>
24
</cities>
25
</province>
26
<province>
27
<name>新疆</name>
28
<cities>
29
<city>乌鲁木齐</city>
30
</cities>
31
</province>
32
</country>
用JSON表示如下:
{
"name": "中国",
"province": [{
"name": "黑龙江",
"cities": {
"city": ["哈尔滨", "大庆"]
}
}, {
"name": "广东",
"cities": {
"city": ["广州", "深圳", "珠海"]
}
}, {
"name": "台湾",
"cities": {
"city": ["台北", "高雄"]
}
}, {
"name": "新疆",
"cities": {
"city": ["乌鲁木齐"]
}
}]
}
24
1
{
2
"name": "中国",
3
"province": [{
4
"name": "黑龙江",
5
"cities": {
6
"city": ["哈尔滨", "大庆"]
7
}
8
}, {
9
"name": "广东",
10
"cities": {
11
"city": ["广州", "深圳", "珠海"]
12
}
13
}, {
14
"name": "台湾",
15
"cities": {
16
"city": ["台北", "高雄"]
17
}
18
}, {
19
"name": "新疆",
20
"cities": {
21
"city": ["乌鲁木齐"]
22
}
23
}]
24
}
可以看到,JSON 简单的语法格式和清晰的层次结构明显要比 XML 容易阅读,并且在数据交换方面,由于 JSON 所使用的字符要比 XML 少得多,可以大大得节约传输数据所占用得带宽
注意: