这里只要简单的记住JSON的二个符号就OK
{} 代表一个对象
[] 代表数组,数组元素类型任意
写一个简单的json对象
var obj={
name:"zhangsan",
age:10,
into:function(){alert(this.name+" "+this.age)};
};
obj就是一个js的对象,该语法完全符合json的语法。
下面一个例子就是使用json格式的数据进行级联菜单的实现。
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<select id="province" style="width:150px">
</select>
<select id="cities" style="width:150px">
</select>
<script type="text/javascript" src="cascade.js">
</script>
</body>
</html>
cascase.js
var data = [ {
id : 1,
name : "湖南",
cities : [ {
id : 11,
name : "衡阳"
}, {
id : 12,
name : "岳阳"
}, {
id : 13,
name : "花果山"
}, {
id : 14,
name : "尚阳"
} ]
}, {
id : 2,
name : "黑龙江",
cities : [ {
id : 21,
name : "齐齐哈尔"
}, {
id : 22,
name : "大庆"
}, {
id : 23,
name : "佳木斯"
}, {
id : 24,
name : "宜春"
} ]
} ];
var province = document.getElementById("province");
var cities = document.getElementById("cities");
province.innerHTML="";
for ( var i=0,len=data.length;i<len;i++) {
var op=document.createElement("option");
op.value=data[i].id;
op.innerHTML=data[i].name;
province.appendChild(op);
}
province.onchange=function(){
cities.innerHTML="";
var showcities=data[province.value-1].cities;
for(var i=0,len=showcities.length;i<len;i++){
var op=document.createElement("option");
op.Value=showcities[i].id;
op.innerHTML=showcities[i].name;
cities.appendChild(op);
}
};