{
"oozie": {
"admin": {},
"hosts-list": [
"1"
],
"hostsinfo": [
{
"host-id": "1",
"details": "Failed ProcessHealthMonitor health check 1 times consecutively",
"currstatus": "Warning",
"currstatusclass": "warning"
},
{
"host-id": "2",
"details": "Failed ProcessHealthMonitor health check 1 times consecutively",
"currstatus": "Warning",
"currstatusclass": "warning"
},
{
"host-id": "4",
"details": "Failed ProcessHealthMonitor health check 1 times consecutively",
"currstatus": "Warning",
"currstatusclass": "warning"
},
{
"host-id": "5",
"details": "Failed ProcessHealthMonitor health check 1 times consecutively",
"currstatus": "Warning",
"currstatusclass": "warning"
}
],
"status": [
{}
]
},
"single-namenode": {
"admin": {},
"hosts-list": [
"1"
],
"hostsinfo": [
{
"host-id": "1",
"details": "Running Service",
"currstatus": "Running",
"currstatusclass": "success"
}
],
"status": [
{}
]
},
"single-database": {
"admin": {},
"hosts-list": [
"1"
],
"hostsinfo": [
{
"host-id": "1",
"details": "Running Service",
"currstatus": "Running",
"currstatusclass": "success"
}
],
"status": [
{}
]
},
"secondarynamenode": {
"admin": {},
"hosts-list": [
"1"
],
"hostsinfo": [
{
"host-id": "1",
"details": "Running Service",
"currstatus": "Running",
"currstatusclass": "success"
}
],
"status": [
{}
]
},
"datanode": {
"admin": {},
"hosts-list": [
"1"
],
"hostsinfo": [
{
"host-id": "1",
"details": "Failed HttpHealthMonitor health check 2 times consecutively",
"currstatus": "Warning",
"currstatusclass": "warning"
}
],
"status": [
{}
]
},
"web": {
"admin": {},
"hosts-list": [
"1"
],
"hostsinfo": [
{
"host-id": "1",
"details": "Setting Master IP",
"currstatus": "Dead",
"currstatusclass": "error"
}
],
"status": [
{}
]
},
"tasktracker": {
"admin": {},
"hosts-list": [
"1"
],
"hostsinfo": [
{
"host-id": "1",
"details": "Running Service",
"currstatus": "Running",
"currstatusclass": "success"
}
],
"status": [
{}
]
},
"jobtracker": {
"admin": {},
"hosts-list": [
"1"
],
"hostsinfo": [
{
"host-id": "1",
"details": "Running Master Service",
"currstatus": "Running",
"currstatusclass": "success"
}
],
"status": [
{}
]
}
}
Я занимался этим уже несколько дней, пытаясь выяснить это, и я просто не могу это прибить. У меня нет никакого контроля над фактическим объектом JSON и как выглядит его вывод. Однако у меня совершенно иная потребность в этом, так как в его нынешней структуре для меня ничего не стоит, кроме вопросов.
То, что я хочу делать предпочтительно с jQuery, это
получить названия главных объектов
Oozie, Single-namenode, единственная база данных, вторичныйnamenode, и т. Д ...
и восстановите объект для хранения, который следует более практичному формату для использования.
В конце я хотел бы увидеть новый объект, похожий на
{
"myservices":{[
{"name":"oozie", "host-id": "1", "details":"failed process health monitor....", "currstatus":"Warning", "currstatusclass":"warning"},
{"name":"oozie", "host-id": "2", "details":"failed process health monitor....", "currstatus":"Warning", "currstatusclass":"warning"},
{"name":"oozie", "host-id": "3", "details":"failed process health monitor....", "currstatus":"Warning", "currstatusclass":"warning"},
{"name":"oozie", "host-id": "4", "details":"failed process health monitor....", "currstatus":"Warning", "currstatusclass":"warning"},
{"name":"oozie", "host-id": "5", "details":"failed process health monitor....", "currstatus":"Warning", "currstatusclass":"warning"},
{"name":"single-namenode", "host-id": "2", "details":"failed process health monitor....", "currstatus":"Warning", "currstatusclass":"warning"}
]}
Моя последняя неудачная попытка:
$('.refreshAllb').click(function() {
var outputCon = '';
$.getJSON('services.json', function(data) {
$('#master_service_container').empty();
$.each(data, function(i, object){
$.each(object, function(property, value){
if(property == "hostsinfo")
{
$.each(value, function(propertyX, valueX){
outputCon += propertyX[valueX] +'<br>';
});
}
});
});
$('#master_service_container').html(outputCon);
});
});
Как я сказал, я был в этом в течение нескольких дней, когда я в своем уме, любая помощь очень ценится.