无法从JSON访问值

时间:2014-02-24 12:17:24

标签: javascript jquery

我有这个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

console.log(resObj.attachedFiles.fileName);

它始终返回undefined。我知道我在这里捏着一些非常小的东西,但是我无法发现它。

2 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分:3)

attachedFilesarray所以请使用indexer 零基础索引,因此第一个元素将为零索引。

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