Json在Web开发的用处非常广泛,作为数据传递的载体,如何解析Json返回的数据是非常常用的。下面介绍下四种解析Json的方式:
方法/步骤
1、Part1varlist1=[1,3,4];alert(list1[1]);varlist2=[{"name":"leamiko","xing":"lin"}];alert(list2[0]["xing"])alert(list2[0].xing)
2、Part2varvalue={"china":{"hangzhou":{"item":"1"},"shanghai":{"item":"2"},"chengdu":{"item":"3"}},"America":{"aa":{"item":"1"},"bb":{"item":"2"}},"Spain":{"dd":{"item":"1"},"ee":{"item":"2"},"ff":{"item":"3"}}};for(varcountryObjinvalue){document.write(countryObj+":<br/>")//for(varcityObjinvalue.countryObj)for(varcityObjinvalue[countryObj]){document.write(''+cityObj+"<br/>");for(varitemObjinvalue[countryObj][cityObj]){document.write(""+itemObj+value[countryObj][cityObj][itemObj]+"<br/>")}}}
3、解释:countryObj为value对象的一个属性明,value[countryObj]为value对象的属性值这里为一个json对象比如b,value[countryObj][cityObj]为josn对象b的属性值它也是一个json对象,于是value[countryObj][cityObj]["item"]便可以取到json对象暂时成为c的值,或者value[countryObj][cityObj].item。总之分清是json还是array这是很关键的。
4、Part3varvalue2={"china&qu艺皱麾酪ot;:[{"name":"ha荏鱿胫协ngzhou","item":"1"},{"name":"shanghai","item":"2"},{"name":"sichuan","item":"3"}],"America":[{"name":"aa","item":"12"},{"name":"bb","item":"2"}],"Spain":[{"name":"cc","item":"1"},{"name":"dd","item":"23"},{"name":"ee","item":"3"}]};<br>for(varcountryObjinvalue2){document.write(countryObj+":<br/>")for(varcityObjinvalue2[countryObj]){//可以用document.write(""+value2[countryObj][cityObj].item+"<br/>");document.write(cityObj+""+value2[countryObj][cityObj]["name"]+"<br/>");}}
5、解释:countryObj为value2对象的属性名,value2[countryObj]为value2对象属性值在本例中它是一个数组,cityObj是数组的一个元素,它又是另外一个json对象,于是,value2[countryObj][cityObj]["name"]就访问到该对象的name的属性值,也可以通过value2[countryObj][cityObj].name来访问该属性值。
6、Part4varvalue2={"china&qu艺皱麾酪ot;:[{"name":"ha荏鱿胫协ngzhou","item":"1"},{"name":"shanghai","item":"2"},{"name":"sichuan","item":"3"}],"America":[{"name":"aa","item":"12"},{"name":"bb","item":"2"}],"Spain":[{"name":"cc","item":"1"},{"name":"dd","item":"23"},{"name":"ee","item":"3"}]};for(varcountryObjinvalue2){document.write(countryObj+":<br/>")//document.write(""+value2[countryObj].length);for(vari=0;i<value2[countryObj].length;i++){document.write(""+value2[countryObj][i]["name"]+"<br/>");}}
7、解释:countryObjvalue2对象的属性名,value2[countryObj]属性值本例中是一个数组,value2[countryObj].length数组的长度,value2[countryObj][i]数组的项==json对象。value2[countryObj][i]["name"]取得name的值,也可以用value2[countryObj][i].name来取得name的值。