收集json解析的四种方法分享
Json在Web开发的用处非常广泛,作为数据传递的载体,如何解析Json返回的数据是非常常用的。下面介绍下四种解析Json的方式:
Part1
varlist1=[1,3,4];
alert(list1[1]);
varlist2=[{"name":"leamiko","xing":"lin"}];
alert(list2[0]["xing"])
alert(list2[0].xing)
Part2
varvalue={
"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/>")
}
}
}
解释:
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这是很关键的。
Part3
"china":[ 解释: countryObj为value2对象的属性名,value2[countryObj]为value2对象属性值在本例中它是一个数组,cityObj是数组的一个元素,它又是另外一个json对象,于是,value2[countryObj][cityObj]["name"]就访问到该对象的name的属性值,也可以通过value2[countryObj][cityObj].name来访问该属性值。 Part4 解释: countryObjvalue2对象的属性名,value2[countryObj]属性值本例中是一个数组,value2[countryObj].length数组的长度,value2[countryObj][i]数组的项==json对象。 value2[countryObj][i]["name"]取得name的值,也可以用value2[countryObj][i].name来取得name的值。
varvalue2={
{"name":"hangzhou","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/>")
for(varcityObjinvalue2[countryObj])
{
//可以用document.write(" "+value2[countryObj][cityObj].item+"<br/>");
document.write(cityObj+" "+value2[countryObj][cityObj]["name"]+"<br/>");
}
}
varvalue2={
"china":[
{"name":"hangzhou","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/>");
}
}
相关文章