Как получить childData внутри ключа - PullRequest
0 голосов
/ 24 сентября 2018

Я создал сценарий, в котором я сгруппировал данные на основе их moduleId.

Вот пример JSON

{
    "1": [{
        "id": 1,
        "moduleId": "1",
        "dropdownModuleName": "NL",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 17:37:21",
        "dateUpdated": null
    }, {
        "id": 2,
        "moduleId": "1",
        "dropdownModuleName": "EE",
        "isDeleted": null,
        "createdBy": null,
        "updatedBy": null,
        "dateCreated": "2018-09-19 18:01:39",
        "dateUpdated": null
    }, {
        "id": 3,
        "moduleId": "1",
        "dropdownModuleName": "SA",
        "isDeleted": null,
        "createdBy": null,
        "updatedBy": "1",
        "dateCreated": "2018-09-19 18:01:46",
        "dateUpdated": "2018-09-19 18:10:02"
    }],
    "4": [{
        "id": 4,
        "moduleId": "4",
        "dropdownModuleName": "CON",
        "isDeleted": null,
        "createdBy": null,
        "updatedBy": "1",
        "dateCreated": "2018-09-19 18:01:56",
        "dateUpdated": "2018-09-19 18:13:33"
    }, {
        "id": 5,
        "moduleId": "4",
        "dropdownModuleName": "XPO",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 18:38:41",
        "dateUpdated": null
    }, {
        "id": 6,
        "moduleId": "4",
        "dropdownModuleName": "RG",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:00",
        "dateUpdated": null
    }],
    "5": [{
        "id": 7,
        "moduleId": "5",
        "dropdownModuleName": "REG",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:18",
        "dateUpdated": null
    }, {
        "id": 8,
        "moduleId": "5",
        "dropdownModuleName": "COM",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:28",
        "dateUpdated": null
    }, {
        "id": 9,
        "moduleId": "5",
        "dropdownModuleName": "BEE",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:35",
        "dateUpdated": null
    }, {
        "id": 10,
        "moduleId": "5",
        "dropdownModuleName": "CA,
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:44",
        "dateUpdated": null
    }, {
        "id": 11,
        "moduleId": "5",
        "dropdownModuleName": "PPC",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:51",
        "dateUpdated": null
    }, {
        "id": 12,
        "moduleId": "5",
        "dropdownModuleName": "TIC",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:58",
        "dateUpdated": null
    }]
}

, как я это сделал, используя этот сценарий.

newBody = JSON.parse(body);

newJson = _.groupBy(newBody,function (o) {
    return o.moduleId
})
nBody = JSON.stringify(newJson)

то, что я хотел сделать, это получить dropdownModuleName, moduleId и т.д. внутри json после запроса на успешное выполнение ajax ... так что я сделал, чтобы зациклить результат.что случилось, если на моей консоли не отображается результат ...

вот мой запрос ajax.

 $.ajax({
     url:'/api/navbarToggleDropdownMenu/getall',
     type:'GET',
     dataType:'JSON',
     success:function (res) {
         console.log(res);
         for (var i = 0; i < res.length; i++) {
            console.log(res[i])
         }
    }
})

1-я консоль возвращает json в моем сообщении выше ... ноконсоль внутри цикла for не вернула результат

Ответы [ 4 ]

0 голосов
/ 24 сентября 2018

попытка приведенного ниже кода может привести к результату в вашей консоли.

замените цикл for следующим кодом.

var responseObj = JSON.parse(JSON.stringify(res));
    $.each(responseObj.d, function (index, el) {
        console.log("Id:- "+el.id+" Module Id:- "+ el.moduleId
        +" Module Name:- "+el.dropdownModuleName);
});
0 голосов
/ 24 сентября 2018

замените ваш цикл на что-то вроде этого

for (var i in res) {
  console.log(res[i]);
}

var res = {
    "1": [{
        "id": 1,
        "moduleId": "1",
        "dropdownModuleName": "NL",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 17:37:21",
        "dateUpdated": null
    }, {
        "id": 2,
        "moduleId": "1",
        "dropdownModuleName": "EE",
        "isDeleted": null,
        "createdBy": null,
        "updatedBy": null,
        "dateCreated": "2018-09-19 18:01:39",
        "dateUpdated": null
    }, {
        "id": 3,
        "moduleId": "1",
        "dropdownModuleName": "SA",
        "isDeleted": null,
        "createdBy": null,
        "updatedBy": "1",
        "dateCreated": "2018-09-19 18:01:46",
        "dateUpdated": "2018-09-19 18:10:02"
    }],
    "4": [{
        "id": 4,
        "moduleId": "4",
        "dropdownModuleName": "CON",
        "isDeleted": null,
        "createdBy": null,
        "updatedBy": "1",
        "dateCreated": "2018-09-19 18:01:56",
        "dateUpdated": "2018-09-19 18:13:33"
    }, {
        "id": 5,
        "moduleId": "4",
        "dropdownModuleName": "XPO",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 18:38:41",
        "dateUpdated": null
    }, {
        "id": 6,
        "moduleId": "4",
        "dropdownModuleName": "RG",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:00",
        "dateUpdated": null
    }],
    "5": [{
        "id": 7,
        "moduleId": "5",
        "dropdownModuleName": "REG",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:18",
        "dateUpdated": null
    }, {
        "id": 8,
        "moduleId": "5",
        "dropdownModuleName": "COM",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:28",
        "dateUpdated": null
    }, {
        "id": 9,
        "moduleId": "5",
        "dropdownModuleName": "BEE",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:35",
        "dateUpdated": null
    }, {
        "id": 10,
        "moduleId": "5",
        "dropdownModuleName": "CA",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:44",
        "dateUpdated": null
    }, {
        "id": 11,
        "moduleId": "5",
        "dropdownModuleName": "PPC",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:51",
        "dateUpdated": null
    }, {
        "id": 12,
        "moduleId": "5",
        "dropdownModuleName": "TIC",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:58",
        "dateUpdated": null
    }]
}

for (var i in res) {
    console.log(res[i])
}
0 голосов
/ 24 сентября 2018

Вам нужно использовать вложенный цикл, чтобы найти дочернее значение ... в приведенном ниже примере у меня есть вы $.each nested function и выведите console.log('moduleId-' + v.moduleId +' '+'dropdownModuleName-'+ v.dropdownModuleName)

var data = {
    "1": [{
        "id": 1,
        "moduleId": "1",
        "dropdownModuleName": "NL",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 17:37:21",
        "dateUpdated": null
    }, {
        "id": 2,
        "moduleId": "1",
        "dropdownModuleName": "EE",
        "isDeleted": null,
        "createdBy": null,
        "updatedBy": null,
        "dateCreated": "2018-09-19 18:01:39",
        "dateUpdated": null
    }, {
        "id": 3,
        "moduleId": "1",
        "dropdownModuleName": "SA",
        "isDeleted": null,
        "createdBy": null,
        "updatedBy": "1",
        "dateCreated": "2018-09-19 18:01:46",
        "dateUpdated": "2018-09-19 18:10:02"
    }],
    "4": [{
        "id": 4,
        "moduleId": "4",
        "dropdownModuleName": "CON",
        "isDeleted": null,
        "createdBy": null,
        "updatedBy": "1",
        "dateCreated": "2018-09-19 18:01:56",
        "dateUpdated": "2018-09-19 18:13:33"
    }, {
        "id": 5,
        "moduleId": "4",
        "dropdownModuleName": "XPO",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 18:38:41",
        "dateUpdated": null
    }, {
        "id": 6,
        "moduleId": "4",
        "dropdownModuleName": "RG",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:00",
        "dateUpdated": null
    }],
    "5": [{
        "id": 7,
        "moduleId": "5",
        "dropdownModuleName": "REG",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:18",
        "dateUpdated": null
    }, {
        "id": 8,
        "moduleId": "5",
        "dropdownModuleName": "COM",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:28",
        "dateUpdated": null
    }, {
        "id": 9,
        "moduleId": "5",
        "dropdownModuleName": "BEE",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:35",
        "dateUpdated": null
    }, {
        "id": 10,
        "moduleId": "5",
        "dropdownModuleName": "CA",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:44",
        "dateUpdated": null
    }, {
        "id": 11,
        "moduleId": "5",
        "dropdownModuleName": "PPC",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:51",
        "dateUpdated": null
    }, {
        "id": 12,
        "moduleId": "5",
        "dropdownModuleName": "TIC",
        "isDeleted": null,
        "createdBy": "1",
        "updatedBy": null,
        "dateCreated": "2018-09-19 19:13:58",
        "dateUpdated": null
    }]
}
$.each(data, function(key, value){
    $.each(value, function(k,v){
        console.log('moduleId-' + v.moduleId +' '+'dropdownModuleName-'+ v.dropdownModuleName)

    })
  
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
0 голосов
/ 24 сентября 2018

Если вы получаете ответ выше, проблема может быть в

res[i]

res - объект, основанный на фигурных скобках.Идентификатор становится свойством res, поэтому доступ к нему будет res.1, но числа не соответствуют идентификаторам javascripts / именам переменных.

Попробуйте добавить другой уровень ответа, но используйте другой ключ?

РЕДАКТИРОВАТЬ: или другой метод, например, циклический просмотр свойств, например

for (var property1 in res) { 
    res[property1]; } // here is the value 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...