2015-10-12 17 views
0

這JSON響應遍歷JSON響應給出了不確定

{ 
"phweb":{ 
    "cpu":"34.8", 
    "ram":"30.5", 
    "hdd":"42.9", 
    "osup":"2 days, 20 hours, 45 minutes and 28 seconds", 
    "osstat":"0", 
    "apachestat":"0", 
    "apacheup":"32 days, 23 hours, 49 minutes and 13 seconds", 
    "sqlstat":"0", 
    "sqlup":"13305410" 
}, 
"phdbm":{ 
    "cpu":"14.7", 
    "ram":"10.8", 
    "hdd":"23.7", 
    "osup":"2 days, 20 hours, 46 minutes and 15 seconds", 
    "osstat":"0", 
    "apachestat":"0", 
    "apacheup":"103 days, 2 hours, 23 minutes and 53 seconds", 
    "sqlstat":"0", 
    "sqlup":"12 days, 2 hours, 23 minutes and 39 seconds" 
}, 
"phmail":{ 
    "cpu":"0.8", 
    "ram":"27.4", 
    "hdd":"7.3", 
    "osup":"2 days, 20 hours, 39 minutes and 29 seconds", 
    "osstat":"0", 
    "apachestat":"0", 
    "apacheup":"5 days, 3 hours, 54 minutes and 29 seconds", 
    "sqlstat":"0", 
    "sqlup":"5 days, 3 hours, 54 minutes and 27 seconds", 
    "emailstat":"0", 
    "emailup":"2 days, 20 hours, 39 minutes and 29 seconds" 
}, 
"ghweb":{ 
    "cpu":"0.4", 
    "ram":"10.9", 
    "hdd":"22.4", 
    "osup":"2 days, 21 hours, 42 minutes and 17 seconds", 
    "osstat":"0", 
    "apachestat":"0", 
    "apacheup":"2 days, 23 hours, 44 minutes and 23 seconds", 
    "sqlstat":"0", 
    "sqlup":"2 days, 23 hours, 44 minutes and 22 seconds" 
}, 
"ghdbm":{ 
    "cpu":"0.5", 
    "ram":"26.3", 
    "hdd":"6.0", 
    "osup":"2 days, 20 hours, 51 minutes and 58 seconds", 
    "osstat":"0", 
    "apachestat":"0", 
    "apacheup":"103 days, 2 hours, 53 minutes and 50 seconds", 
    "sqlstat":"0", 
    "sqlup":"109 days, 21 hours, 3 minutes and 0 seconds" 
    } 
} 

和IM試圖在循環播放,並得到我想要的價值。

success: function(response){ 
    $.each(response.phweb, function(index, value){ 
     alert(value.cpu); 
    }); 
} 

但它給了我'未定義'。任何想法,幫助,線索?

回答

1

您從JSON,不包含任何對象隻字符串有遍歷第一個對象。更改response.phwebresponse

var response = { 
 
    "phweb": { 
 
    "cpu": "34.8", 
 
    "ram": "30.5", 
 
    "hdd": "42.9", 
 
    "osup": "2 days, 20 hours, 45 minutes and 28 seconds", 
 
    "osstat": "0", 
 
    "apachestat": "0", 
 
    "apacheup": "32 days, 23 hours, 49 minutes and 13 seconds", 
 
    "sqlstat": "0", 
 
    "sqlup": "13305410" 
 
    }, 
 
    "phdbm": { 
 
    "cpu": "14.7", 
 
    "ram": "10.8", 
 
    "hdd": "23.7", 
 
    "osup": "2 days, 20 hours, 46 minutes and 15 seconds", 
 
    "osstat": "0", 
 
    "apachestat": "0", 
 
    "apacheup": "103 days, 2 hours, 23 minutes and 53 seconds", 
 
    "sqlstat": "0", 
 
    "sqlup": "12 days, 2 hours, 23 minutes and 39 seconds" 
 
    }, 
 
    "phmail": { 
 
    "cpu": "0.8", 
 
    "ram": "27.4", 
 
    "hdd": "7.3", 
 
    "osup": "2 days, 20 hours, 39 minutes and 29 seconds", 
 
    "osstat": "0", 
 
    "apachestat": "0", 
 
    "apacheup": "5 days, 3 hours, 54 minutes and 29 seconds", 
 
    "sqlstat": "0", 
 
    "sqlup": "5 days, 3 hours, 54 minutes and 27 seconds", 
 
    "emailstat": "0", 
 
    "emailup": "2 days, 20 hours, 39 minutes and 29 seconds" 
 
    }, 
 
    "ghweb": { 
 
    "cpu": "0.4", 
 
    "ram": "10.9", 
 
    "hdd": "22.4", 
 
    "osup": "2 days, 21 hours, 42 minutes and 17 seconds", 
 
    "osstat": "0", 
 
    "apachestat": "0", 
 
    "apacheup": "2 days, 23 hours, 44 minutes and 23 seconds", 
 
    "sqlstat": "0", 
 
    "sqlup": "2 days, 23 hours, 44 minutes and 22 seconds" 
 
    }, 
 
    "ghdbm": { 
 
    "cpu": "0.5", 
 
    "ram": "26.3", 
 
    "hdd": "6.0", 
 
    "osup": "2 days, 20 hours, 51 minutes and 58 seconds", 
 
    "osstat": "0", 
 
    "apachestat": "0", 
 
    "apacheup": "103 days, 2 hours, 53 minutes and 50 seconds", 
 
    "sqlstat": "0", 
 
    "sqlup": "109 days, 21 hours, 3 minutes and 0 seconds" 
 
    } 
 
}; 
 

 
$.each(response, function(index, value) { 
 
    alert(value.cpu); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

UPDATE:如果你想從phwebcpu值,那麼就沒有必要$.each()~ just use response.phweb.cpu`

var response = { 
 
    "phweb": { 
 
    "cpu": "34.8", 
 
    "ram": "30.5", 
 
    "hdd": "42.9", 
 
    "osup": "2 days, 20 hours, 45 minutes and 28 seconds", 
 
    "osstat": "0", 
 
    "apachestat": "0", 
 
    "apacheup": "32 days, 23 hours, 49 minutes and 13 seconds", 
 
    "sqlstat": "0", 
 
    "sqlup": "13305410" 
 
    }, 
 
    "phdbm": { 
 
    "cpu": "14.7", 
 
    "ram": "10.8", 
 
    "hdd": "23.7", 
 
    "osup": "2 days, 20 hours, 46 minutes and 15 seconds", 
 
    "osstat": "0", 
 
    "apachestat": "0", 
 
    "apacheup": "103 days, 2 hours, 23 minutes and 53 seconds", 
 
    "sqlstat": "0", 
 
    "sqlup": "12 days, 2 hours, 23 minutes and 39 seconds" 
 
    }, 
 
    "phmail": { 
 
    "cpu": "0.8", 
 
    "ram": "27.4", 
 
    "hdd": "7.3", 
 
    "osup": "2 days, 20 hours, 39 minutes and 29 seconds", 
 
    "osstat": "0", 
 
    "apachestat": "0", 
 
    "apacheup": "5 days, 3 hours, 54 minutes and 29 seconds", 
 
    "sqlstat": "0", 
 
    "sqlup": "5 days, 3 hours, 54 minutes and 27 seconds", 
 
    "emailstat": "0", 
 
    "emailup": "2 days, 20 hours, 39 minutes and 29 seconds" 
 
    }, 
 
    "ghweb": { 
 
    "cpu": "0.4", 
 
    "ram": "10.9", 
 
    "hdd": "22.4", 
 
    "osup": "2 days, 21 hours, 42 minutes and 17 seconds", 
 
    "osstat": "0", 
 
    "apachestat": "0", 
 
    "apacheup": "2 days, 23 hours, 44 minutes and 23 seconds", 
 
    "sqlstat": "0", 
 
    "sqlup": "2 days, 23 hours, 44 minutes and 22 seconds" 
 
    }, 
 
    "ghdbm": { 
 
    "cpu": "0.5", 
 
    "ram": "26.3", 
 
    "hdd": "6.0", 
 
    "osup": "2 days, 20 hours, 51 minutes and 58 seconds", 
 
    "osstat": "0", 
 
    "apachestat": "0", 
 
    "apacheup": "103 days, 2 hours, 53 minutes and 50 seconds", 
 
    "sqlstat": "0", 
 
    "sqlup": "109 days, 21 hours, 3 minutes and 0 seconds" 
 
    } 
 
}; 
 
    
 
alert(response.phweb.cpu);

+0

不錯,但我想只得到 'CPU',從 'phweb',任何想法的價值?我不想太循環到'cpu'的所有價值。 –

+0

@CodeDemon:那麼就使用'response.phweb.cpu' –

+0

和怎麼樣我想僅環在「phweb唐代得到了「CPU」值,以及該JSON陣列中的其他具體的價值? –

1

例如: -

$.each(response.phweb, function(index,value){ 
      console.log(index + " : " + value); 
     //alert(index.cpu); 
     });