Не могу получить доступ к значению из JSON

0

У меня есть строка JSON:

{
    "attachedFiles": [{
        "link": "/site.com/dir?id=12993&SESSION=40af90dd-c1f3-4678-93e5-a4b36f3597b0&SESSIONTICKET=SESS:67bf209be2",
        "fileName": "file1.txt",
        "docDate": "24.02.2014",
        "docTime": "13:54",
        "docId": "12993"
    }],
    "requestId": 48,
    "tasksId": 0,
    "workId": 10558
}

Я конвертирую его так:

var resdata = xhr.responseText; // the string response from the server
var resObj = JSON.parse(resdata);

И затем я пытаюсь получить доступ (напечатать значение) fileName внутри объекта attachedFiles fileName по приведенному ниже коду:

console.log(resObj.attachedFiles.fileName);

Он всегда возвращает undefined. Я знаю, что здесь что-то здесь очень мало, но я не могу это заметить.

Теги:

2 ответа

6
Лучший ответ

attachedFiles - массив. Поэтому попробуйте получить доступ к содержимому массива с помощью индексатора

resObj.attachedFiles[0].fileName // 0th index, 1st Element

Доступ ко всем элементам массива. Благодаря комментарию @Cerbus

for(var i = 0, l = resObj.attachedFiles.length; i < l;i++)
{
   console.log(resObj.attachedFiles[i].fileName);
}
  • 3
    Обратите внимание , что [0] обращается к первому приложенного файла в attachedFiles массиве. Если вы хотите получить доступ к переменному количеству элементов в массиве, вы будете иметь , чтобы перебирать массив с for цикла: for(var i = 0, l = resObj.attachedFiles.length; i < l; i++){console.log(resObj.attachedFiles[i]);}
3

attachedFiles - это array поэтому используйте indexer индекса с нулевым индексом, поэтому первый элемент будет иметь нулевой индекс.

console.log(resObj.attachedFiles[0].fileName);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню