Ajax - 从响应中的所有索引打印JSON值

时间:2016-07-13 09:19:36

标签: javascript json ajax

我有以下JSON响应:

    {
    "SlbOperEnhGroupRealServerTable":[{
    "RealServGroupIndex": "All_ISP",
    "ServIndex": "ISP1",
    "State": 1,
    "Status": 1,
    "IP": "192.168.30.1" ,
    "Descr": "",
    "RuntimeStatus": 2
    },
    {
    "RealServGroupIndex": "All_ISP",
    "ServIndex": "ISP2",
    "State": 1,
    "Status": 1,
    "IP": "192.168.40.1" ,
    "Descr": "",
    "RuntimeStatus": 1
    }]                                   
}

我想打印" RuntimeStatus"的值JSON响应中的所有索引。

所以,我可以使用它(有效):

success: function(data) {
    alert(data['SlbOperEnhGroupRealServerTable'][0].RuntimeStatus)
    alert(data['SlbOperEnhGroupRealServerTable'][1].RuntimeStatus)
    },

但我不知道有多少索引包含" RuntimeStatus"将在响应中,所以我想打印" RuntimeStatus"的所有可用索引的值。在回应中。

你知道我该怎么办?

感谢。

2 个答案:

答案 0 :(得分:0)

你可以简单地遍历数组。

for (var i = 0; i < ['SlbOperEnhGroupRealServerTable'].length; i++) {
   console.log(data['SlbOperEnhGroupRealServerTable'][i].RuntimeStatus);
}

为方便起见,我使用console.log代替alert

答案 1 :(得分:0)

你可以尝试

var data = {
    "SlbOperEnhGroupRealServerTable":[{
    "RealServGroupIndex": "All_ISP",
    "ServIndex": "ISP1",
    "State": 1,
    "Status": 1,
    "IP": "192.168.30.1" ,
    "Descr": "",
    "RuntimeStatus": 2
    },
    {
    "RealServGroupIndex": "All_ISP",
    "ServIndex": "ISP2",
    "State": 1,
    "Status": 1,
    "IP": "192.168.40.1" ,
    "Descr": "",
    "RuntimeStatus": 1
    }]                                   
};

data.SlbOperEnhGroupRealServerTable.map(function(item) {
  if(item.RuntimeStatus) {
    console.log(item.RuntimeStatus);
  }
})