Json

166 阅读1分钟

JSON:

JS中的json对象:
	window.onload=function(){
		var obj={'name':'zhangsan'};//定义json对象;
		//alert(obj.name);//根据json对象获得其属性值
		var obj="{'name':'zhangsan2'}";//json字符串
		var o=eval("("+obj+")");//使用eval()函数将json字符串转换为json对象
		alert(o.name);//获得数据类型
	}
	
json语法:
	[] 表示数组
	{} 表示对象
	"" 表示是属性名或字符串类型的值
	: 表示属性和值之间的间隔符
	, 表示多个属性的间隔符或者是多个元素的间隔符
	
	例:对象中可以再嵌套对象或数组;
		obj=[1,2,3];//数据
		obj={"name":"张三","age":20,"gender":true,"hobby":{"name1":"吃","name2":"喝"}};//对象
		alert(obj.hobby.name1);//获得json对象的对象属性的值
	
json数据类型
	字符串(string)
	数值(number)
	布尔值(boolean)
	对象(object)
	数组(array)
	空(null)

JSON解析:Gson--google 创建Gson对象:Gson g=new Gson(); 从json串转换为java的对象:g.fromJson(Object obj,Class c) 注:如果转换为list集合时,Class的类对象参数:new TypeToken<List<泛型>>(){}.getType()

从java的对象转换为json串:g.toJson(Object obj);

AJAX: Asynchronous Javascript And XML缩写为AJAX,允许浏览器与服务器通信而无需刷新当前页面的技术都叫做Ajax。

创建对象:XMLHttpRequest
	open(method,url):
		method:提交方式get/post
		url:提交的目标地址
	send(Object obj)
		send(null):不提交任何参数
		send(*string*):将请求发送到服务器。*string*:仅用于 POST 请求
	onReadyStateChange():浏览器自动触发该事件;状态改变;
		readyState:
			0-未初始化
			1-正在加载
			2-已经加载
			3-交互中
			4-完成
		status: 200时表请求成功;304内容没有改变;