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>