遍历json获得数据的几种方法
来源:互联网 发布:zbrush 4r8 mac 破解 编辑:程序博客网 时间:2024/05/29 10:17
Json在Web开发的用处非常广泛,作为数据传递的载体,如何解析Json返回的数据是非常常用的。下面介绍下四种解析Json的方式:
Part 1
1
var
list1 = [1,3,4];
2
alert(list1[1]);
3
var
list2 = [{
"name"
:
"leamiko"
,
"xing"
:
"lin"
}];
4
alert(list2[0][
"xing"
])
5
alert(list2[0].xing)
Part 2
01
var
value = {
02
"china"
:{
03
"hangzhou"
:{
"item"
:
"1"
},
04
"shanghai"
:{
"item"
:
"2"
},
05
"chengdu"
:{
"item"
:
"3"
}
06
},
07
"America"
:{
08
"aa"
:{
"item"
:
"1"
},
09
"bb"
:{
"item"
:
"2"
}
10
},
11
"Spain"
:{
12
"dd"
:{
"item"
:
"1"
},
13
"ee"
:{
"item"
:
"2"
},
14
"ff"
:{
"item"
:
"3"
}
15
}
16
};
17
18
for
(
var
countryObj
in
value)
19
{
20
document.write(countryObj +
":<br />"
)
21
//没用的for(var cityObj in value.countryObj)
22
for
(
var
cityObj
in
value[countryObj])
23
{
24
document.write(
' '
+ cityObj +
"<br />"
);
25
for
(
var
itemObj
in
value[countryObj][cityObj])
26
{
27
document.write(
" "
+ itemObj + value[countryObj][cityObj][itemObj] +
"<br />"
)
28
}
29
}
30
}
解释:
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这是很关键的。
Part 3
01
var
value2 = {
02
"china"
:[
03
{
"name"
:
"hangzhou"
,
"item"
:
"1"
},
04
{
"name"
:
"shanghai"
,
"item"
:
"2"
},
05
{
"name"
:
"sichuan"
,
"item"
:
"3"
}
06
],
07
"America"
:[
08
{
"name"
:
"aa"
,
"item"
:
"12"
},
09
{
"name"
:
"bb"
,
"item"
:
"2"
}
10
],
11
"Spain"
:[
12
{
"name"
:
"cc"
,
"item"
:
"1"
},
13
{
"name"
:
"dd"
,
"item"
:
"23"
},
14
{
"name"
:
"ee"
,
"item"
:
"3"
}
15
]
16
};
17
18
for
(
var
countryObj
in
value2)
19
{
20
document.write(countryObj +
":<br />"
)
21
for
(
var
cityObj
in
value2[countryObj])
22
{
23
//可以用document.write(" " + value2[countryObj][cityObj].item + "<br />");
24
document.write(cityObj +
" "
+ value2[countryObj][cityObj][
"name"
] +
"<br />"
);
25
}
26
}
解释:
countryObj 为value2对象的属性名,value2[countryObj] 为value2对象属性值 在本例中它是一个数组,cityObj 是数组的一个元素,它又是另外一个json对象,于是,value2[countryObj][cityObj]["name"]就访问到该对象的 name的属性值,也可以通过 value2[countryObj][cityObj].name 来访问该属性值。
Part 4
01
var
value2 = {
02
"china"
:[
03
{
"name"
:
"hangzhou"
,
"item"
:
"1"
},
04
{
"name"
:
"shanghai"
,
"item"
:
"2"
},
05
{
"name"
:
"sichuan"
,
"item"
:
"3"
}
06
],
07
"America"
:[
08
{
"name"
:
"aa"
,
"item"
:
"12"
},
09
{
"name"
:
"bb"
,
"item"
:
"2"
}
10
],
11
"Spain"
:[
12
{
"name"
:
"cc"
,
"item"
:
"1"
},
13
{
"name"
:
"dd"
,
"item"
:
"23"
},
14
{
"name"
:
"ee"
,
"item"
:
"3"
}
15
]
16
};
17
18
for
(
var
countryObj
in
value2)
19
{
20
document.write(countryObj +
":<br />"
)
21
//document.write(" " + value2[countryObj].length);
22
for
(
var
i = 0;i < value2[countryObj].length; i++)
23
{
24
document.write(
" "
+ value2[countryObj][i][
"name"
] +
"<br />"
);
25
}
26
}
解释:
countryObj value2对象的属性名,value2[countryObj] 属性值 本例中是一个数组,value2[countryObj].length 数组的长度,value2[countryObj][i]数组的项 == json对象。
value2[countryObj][i]["name"] 取得name的值,也可以用value2[countryObj][i].name 来取得name的值。
- 遍历json获得数据的几种方法
- 遍历json获得数据的几种方法
- 遍历json获得数据的几种方法
- 遍历json获得数据的几种方法
- 遍历json获得数据的几种方法
- 遍历json获得数据的几种方法
- 遍历json获得数据的几种方法
- 遍历Json获得数据的几种方法
- 遍历json获得数据的几种方法
- 遍历json几种方法
- 遍历json数据的n种方法
- Struts2中Action获得表单数据的几种方法
- Struts2中Action获得表单数据的几种方法
- Jquery遍历筛选数组的几种方法和遍历解析json对象|Map()方法详解
- jquery遍历筛选数组的几种方法和遍历解析json对象
- jquery遍历筛选数组的几种方法和遍历解析json对象
- jquery遍历筛选数组的几种方法和遍历解析json对象
- jquery遍历筛选数组的几种方法和遍历解析json对象
- 为什么程序员的社会地位不高?
- 设计模式-OOD的设计原则(1)-"开-闭原则"
- linux awk 内置函数详细介绍(实例)
- 设计模式-OOD的设计原则(2)-"里氏代换原则"
- AIX系统日志学习笔记之一
- 遍历json获得数据的几种方法
- POJ 2081 Recaman's Sequence(我的水题之路——空间换时间)
- CTEX生成中文PDF的问题
- 大小端问题
- GNU GLOBAL 笔记
- 设计模式-OOD的设计原则(3)-"依赖倒转原则"
- if导致的bug
- linux su命令参数及用法详解--linux切换用户命令
- E: Sub-process /usr/bin/dpkg returned an error code (1) 出错解决方案