JS的Json對象


Json對象(無類型對象)
	1.什么是json,有什么用?
		JavaScript Object Notation (JavaScript對象標記),簡稱Json(數據交換格式)
		最主要的作用是:數據交換
	2.Json是一種標准的輕量級的數據交換格式
		特點是:體積小、易解析
		補:
			在實際開發中有兩種交換格式,使用最多,Json和XML
			XML體積較大,解析麻煩,優點是:語法嚴謹(通常銀行相關的系統之間進行數據交換使用XML)
	3.Json對象語法格式:
		var jsonObj={
			"屬性名":"屬性值",
			"屬性名":"屬性值",
			……
			"屬性名":"屬性值"
		};
	4.eval函數
		作用:將字符串當作一段js代碼解釋並執行
		補:
			java連接數據庫,查詢數據之后,將數據在java程序中拼接成Json格式的"字符串",將Json格式的字符串響應到瀏覽器
			也就是說,java響應到瀏覽器上的字符串轉換成Json對象時,
			可以使用eval函數,將Json格式的字符串轉換成Json對象
	5.在JS中,[]和{}的區別
		[]	是數組
		{}	是JSon
			
代碼:
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>son對象</title>
	</head>
	<body>
		<script type="text/javascript">
			//創建一個Json對象
			var studentObj={
				"sno":"110",
				"sname":"張三",
				"sex":"男"
				};
			//訪問Json對象的屬性
			alert(studentObj.sno+","+studentObj.sname+","+studentObj.sex);
			//Json數組
			var students=[
				{"sno":"1","sname":"rose","sex":"女"},
				{"sno":"2","sname":"jack","sex":"男"},
				{"sno":"3","sname":"GD","sex":"男"}
			]
			//遍歷
			for(var i=0;i<students.length;i++){
				var stuObj=students[i];
				alert(stuObj.sno+"-"+stuObj.sname+"-"+stuObj.sex);
			}
			//復雜一點的Json對象
			var user={
				"userid":110,
				"username":"張三",
				"sex":"男",
				"add":{
					"city":"北京",
					"street":"大興區",
					"zipcode":"1212112"
				},
				"hobby":["pingpang","drink","fire"]
			};
			//訪問人名、居住城市
			alert(user.username+"-"+user.add.city);
			
			//設計Jon格式的數據,可以描述整個班級中每一個學生信息,以及總人數信息
			var Class={
				"student":[
					{"stuId":101,"sname":"張三","score":90},
					{"stuId":102,"sname":"李四","score":78},
					{"stuId":103,"sname":"王五","score":87},
					{"stuId":104,"sname":"趙六","score":69}
				],
				"stuCount":4
			};
			alert(Class.student[1].stuId+"_"+Class.student[1].sname+"_"+Class.student[1].score);
			alert(Class.stuCount);
			//eval函數
			window.eval("var i=100;");	//相當於var i=100;
			alert("i="+i);
			var fromJava="{\"name\":\"張三\",\"password\":\"123\"}";	   //這是java程序發過來的json格式字符串
			window.eval("var jsonObj="+fromJava);
			alert(jsonObj.name+"_"+jsonObj.password);	//在前端取數據
		</script>
	</body>
</html>

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM