Выборка объекта Json из массива javascript - PullRequest
3 голосов
/ 25 мая 2011

У меня есть такой объект Json

{
   "  resultArr": [
                   {
                     "ID":"1",
                      "0":"1",
                      "APPROVAL LEVEL":"1",
                      "1":"1",
                      "WorkFlow Type Code":"1",
                      "2":"1",
                      "Employee Number":"825489602V",
                      "3":"825489602V",
                      "Employee Name":"Wajira Wanigasekara",
                      "4":"Wajira Wanigasekara"
                     }
                 ]
}

Я пытаюсь напечатать ключ и значения resultArr.

Например, я хочу напечатать ID = 1 УРОВЕНЬ УТВЕРЖДЕНИЯ =1 .. вот так

я могу получить значение ID, УТВЕРЖДЕНИЕ УТВЕРЖДЕНИЯ .. используя этот код

$.ajax({
                    type: "POST",
                    async:false,
                    url: "<?php echo url_for('workflow/getApprovalByModuleView') ?>",
                    data: { viewName: viewName },
                    dataType: "json",
                    success: function(data){

                        alert(data.resultArr[0][3]);
                    }
                });

но я хочу напечатать эти имена также ...

это означает, что я хочу напечатать КЛЮЧ и ЗНАЧЕНИЕ массива data.resultArr

как я могу это сделать?

Ответы [ 6 ]

3 голосов
/ 25 мая 2011

Хорошо, вы используете клавишу для выбора значений.Единственный способ, о котором я могу думать, это циклически проходить через них:

$.each(data.resultArr, function(index, value) { 
  alert(index + ': ' + value); 
});
2 голосов
/ 25 мая 2011

Я почти уверен, что переменная data, которую вы получаете в качестве параметра успеха, - это не то, что вы ожидаете.

Прежде всего, выясните, что именно содержит фактические данные. Я бы предложил установить Firebug и вместо предупреждения писать:

console.dir(data);

Также, чтобы проверить тип данных, попробуйте:

console.log(typeof(data));

Теперь, когда вы знаете, в каком формате ваши данные действительно были возвращены, вы можете продолжить их обработку.

1 голос
/ 27 ноября 2015
var json = {"resultArr":[{"ID":"1","0":"1","APPROVAL LEVEL":"1","1":"1","WorkFlow Type Code":"1","2":"1","Employee Number":"825489602V","3":"825489602V","Employee Name":"Wajira Wanigasekara","4":"Wajira Wanigasekara"}]};

for(var key in json.resultArr[0]) {
    console.log( key, json.resultArr[0][key] );
}
1 голос
/ 25 мая 2011

Может быть, это поможет:


function getArrayKeyAndValue(array, index){
    var count = 0;
    for (key in array){
        if(++count == index)
            return [key, array[key]];
    }      
}

var array = {"key1" : "value1", "key2" : "value2", "key3" : "value3"};
document.write(getArrayKeyAndValue(array, 1));

Вывод: "ключ1, значение1";

1 голос
/ 25 мая 2011

Вы можете использовать следующий код:

var json = {"resultArr":[{"ID":"1","0":"1","APPROVAL LEVEL":"1","1":"1","WorkFlow Type Code":"1","2":"1","Employee Number":"825489602V","3":"825489602V","Employee Name":"Wajira Wanigasekara","4":"Wajira Wanigasekara"}]};

var data = json.resultArr[0];
for (var key in data){
    document.write(key+":" + data[key]);
}
1 голос
/ 25 мая 2011

JavaScript:

var array = {"key" : "value", "anotherkey" : "anothervalue"};
for (key in array){
    document.write("For the Element " + "<b>"+array[key]+"</b>" 
  + " Key value is  " +"<b>"+key+"</b>"+"<br>");
}

это получит ключ и значение из массива в javascript.

Ваша проблема в том, что я думаю, что вы обращаетесь к двум разным объектам массива.

data.resultArr[0][3] НЕ совпадает с data.resultArr[0]["3"], что не совпадает с data.resultArr [0] ["Номер сотрудника"] . The first will give you the VALUE for Уровень утверждения the second will give the the SECOND employee number and the last will give you the value for Номер сотрудника`.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...