关于JS解析编历JSON数组(含多维数组)
第一部分:

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)
2 alert(list1[1]);
3 var list2 = [{"name":"leamiko","xing":"lin"}];
4 alert(list2[0]["xing"])
5 alert(list2[0].xing)
第二部分:
1 var value = {
2 "china":{
3 "hangzhou":{"item":"1"},
4 "shanghai":{"item":"2"},
5 "chengdu":{"item":"3"}
6 },
7 "America":{
8 "aa":{"item":"1"},
9 "bb":{"item":"2"}
10 },
11 "Spain":{
12 "dd":{"item":"1"},
13 "ee":{"item":"2"},
14 "ff":{"item":"3"}
15 }
16 };
17 for(var countryObj in value)
18 {
19 document.write(countryObj + ":<br />")
20 //没用的for(var cityObj in value.countryObj)
21 for(var cityObj in value[countryObj])
22 {
23 document.write(' ' + cityObj + "<br />");
24 for(var itemObj in value[countryObj][cityObj])
25 {
26 document.write(" "+ itemObj + value[countryObj][cityObj][itemObj] +"<br />")
27 }
28 }
29 }
2 "china":{
3 "hangzhou":{"item":"1"},
4 "shanghai":{"item":"2"},
5 "chengdu":{"item":"3"}
6 },
7 "America":{
8 "aa":{"item":"1"},
9 "bb":{"item":"2"}
10 },
11 "Spain":{
12 "dd":{"item":"1"},
13 "ee":{"item":"2"},
14 "ff":{"item":"3"}
15 }
16 };
17 for(var countryObj in value)
18 {
19 document.write(countryObj + ":<br />")
20 //没用的for(var cityObj in value.countryObj)
21 for(var cityObj in value[countryObj])
22 {
23 document.write(' ' + cityObj + "<br />");
24 for(var itemObj in value[countryObj][cityObj])
25 {
26 document.write(" "+ itemObj + value[countryObj][cityObj][itemObj] +"<br />")
27 }
28 }
29 }
解释:
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这是很关键的
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这是很关键的
第三部分:
1 var value2 = {
2 "china":[
3 {"name":"hangzhou", "item":"1"},
4 {"name":"shanghai", "item":"2"},
5 {"name":"sichuan", "item":"3"}
6 ],
7 "America":[
8 {"name":"aa", "item":"12"},
9 {"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 }
2 "china":[
3 {"name":"hangzhou", "item":"1"},
4 {"name":"shanghai", "item":"2"},
5 {"name":"sichuan", "item":"3"}
6 ],
7 "America":[
8 {"name":"aa", "item":"12"},
9 {"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 来访问该属性值
countryObj 为value2对象的属性名
value2[countryObj] 为value2对象属性值 在本例中它是一个数组
cityObj 是数组的一个元素,它又是另外一个json对象
于是,value2[countryObj][cityObj]["name"]就访问到该对象的 name的属性值
也可以通过 value2[countryObj][cityObj].name 来访问该属性值
第四部分:
1 var value2 = {
2 "china":[
3 {"name":"hangzhou", "item":"1"},
4 {"name":"shanghai", "item":"2"},
5 {"name":"sichuan", "item":"3"}
6 ],
7 "America":[
8 {"name":"aa", "item":"12"},
9 {"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 }
2 "china":[
3 {"name":"hangzhou", "item":"1"},
4 {"name":"shanghai", "item":"2"},
5 {"name":"sichuan", "item":"3"}
6 ],
7 "America":[
8 {"name":"aa", "item":"12"},
9 {"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的值
countryObj value2对象的属性名
value2[countryObj] 属性值 本例中是一个数组
value2[countryObj].length 数组的长度.
value2[countryObj][i]数组的项 == json对象
value2[countryObj][i]["name"] 取得name的值
也可以用value2[countryObj][i].name 来取得name的值
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!