python之ajax
一 AJAX预备知识:json进阶
1.1 什么是JSON?
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。JSON是用字符串来表示Javascript对象;
请大家记住一句话:json字符串就是js对象的一种表现形式(字符串的形式)
既然我们已经学过python的json模块,我们就用它来测试下json字符串和json对象到底是什么
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
import json i=10 s='hello' t=(1,4,6) l=[3,5,7] d={'name':"yuan"} json_str1=json.dumps(i) json_str2=json.dumps(s) json_str3=json.dumps(t) json_str4=json.dumps(l) json_str5=json.dumps(d) print(json_str1) #'10' print(json_str2) #'"hello"' print(json_str3) #'[1, 4, 6]' print(json_str4) #'[3, 5, 7]' print(json_str5) #'{"name": "yuan"}'
这里面的json_str就是json字符串;
那么json字符串里都可以放哪些值呢?
JSON字符串内的值:
- 数字 (整数或浮点数)
- 字符串 (在双引号中)
- 逻辑值 (true 或 false)
- 数组 (在方括号中)
- 对象 (在花括号中,引号用双引)
- null
看着是不是有点眼熟啊,对了,这就是咱们js的数据对象;不管是python还是其它语言,它们都有自己的数据类型,但如果要处理成json字符串那么,就要把数据换转成js对应的数据对象(比如python的元组就被处理成了数组,字典就被处理成object),再加上引号就是咱们的json字符串了;
前端接受到json字符串,就可以通过JSON.parse()等方法解析成json对象(即js对象)直接使用了。
之所以称json对象为js的子集,是因为像undefined,NaN,{'name':'yuan'}等都不在json对象的范畴。
1.2 python与json对象的对应:
python --> json dict object list,tuple array str,unicode string int,long,float number True true False false None null
让我们看一个带方法的json对象:
1 var person = {"name":"alex", 2 "sex":"men", 3 "teacher":{ 4 "name":"tiechui", 5 "sex":"half_men", 6 }, 7 "bobby":['basketball','running'], 8 9 "getName":function() {return 80;} 10 }; 11 alert(person.name); 12 alert(person.getName()); 13 alert(person.teacher.name); 14 alert(person.bobby[0]);
person是一个json对象,因为它满足json规范:在json六大范畴且引号双引!