使用Javascript遍历特定的JSON格式

时间:2018-08-29 14:14:16

标签: javascript json

我正在处理HTML页面。我需要用包含一些数据的JSON文件填充页面。

JSON文件的结构类似于以下内容:

{
"City": {
   "header": {
     "first_item" : "item1",
     "second_item" : "item2",
     ...
   }
    "Tab1": {
        "A": [{
                "name": "name",
                "mail": "..."
            },
            {
                "name": "name",
                "mail": "..."
            }
        ],
        "B": [{
                "name": "name",
                "mail": "..."
            },
            {
                "name": "name",
                "mail": "..."
            }
        ],
    },
    "Tab2": {
        "A": [{
                "name": "name",
                "mail": "..."
            },
            {
                "name": "name",
                "mail": "..."
            }
        ],
        "B": [{
                "name": "name",
                "mail": "..."
            },
            {
                "name": "name",
                "mail": "..."
            }
        ],
    }

我的JSON文件确实比此示例大,但全局结构在这里。 (有55个城市,每个城市3个标签,每个标签中包含更多字母和数据)。

当前,我可以使用:p显示JSON文件的一部分内容。

jsonObj["City"].Tab1.A[i].name
jsonObj["City"].Tab1.A[i].mail

但是,我正在寻找一种解决方案,该解决方案可以让我通过A,B,C等进行for循环,从而可以自动给出以下代码的结果:

jsonObj["City"].Tab1.A[i].name
jsonObj["City"].Tab1.A[i].mail

jsonObj["City"].Tab1.B[i].name
jsonObj["City"].Tab1.B[i].mail

jsonObj["City"].Tab1.C[i].name
jsonObj["City"].Tab1.C[i].mail

即使我知道这里缺少什么,我也尝试将A,B,C ...存储在数组中,但是由于JSON数据中有任何“ myArray”,所以我无法访问此类数据。用这种代码:

var myArray = ["A","B","C", ...];
    for(var i = 0; i < myArray.length; i++){
        jsonObj["City"].Tab1.myArray[i].name
        jsonObj["City"].Tab1.myArray[i].mail
    }

我尝试这样做是为了得到结果:

jsonObj["City"].Tab1.myArray[i].name

等同于:

jsonObj["City"].Tab1.A[i].name

但是在这里,我只是(通过推论):

jsonObj["City"].Tab1.A.name

我不知道该修改代码还是修改JSON结构更好...

任何帮助将不胜感激

提前谢谢!

0 个答案:

没有答案