使用Javascript循环使用特定的JSON格式

使用Javascript循环使用特定的JSON格式,javascript,json,Javascript,Json,我正在处理一个HTML页面。我需要用包含一些数据的JSON文件填充页面 JSON文件的结构类似于以下内容: { "City": { "header": { "first_item" : "item1", "second_item" : "item2", ... } "Tab1": { "A": [{ "name": "name", "mail": "..."

我正在处理一个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个标签,每个标签中有更多的字母和数据)

目前,我可以通过以下方式显示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.A[i].name
但在这里,我只是(扣除):

我不知道是否应该修改代码,或者修改JSON结构更好

任何帮助都将不胜感激


提前谢谢你

查看
Object.keys()
Object.values()
Object.entries()
。这三种方法都提供了一种在对象上循环的方法,但这三种方法中哪一种最合适将取决于您在循环中的具体操作。还有一个
用于。。。如果您不喜欢使用数组方法,请使用循环。目标是什么?您只是想
console.log
它们还是做其他事情?您可以尝试-我将为每个项目创建HTML元素。我可能会创建一个表,其中,名称、邮件是标题。我的目标是显示一个表(或其他内容),其中包含与用户选择的城市相关的数据(单击上一个网页上的地图)。我会检查你的建议。谢谢您您的解决方案在@NikhilAggarwal运行!我被阻止了,因为我的JSON中有一个我没有提到的小类别。所以脚本无法运行。我已经更新了我的帖子来添加它。
jsonObj["City"].Tab1.A[i].name
jsonObj["City"].Tab1.A.name