Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法从JSON访问值_Javascript_Jquery - Fatal编程技术网

Javascript 无法从JSON访问值

Javascript 无法从JSON访问值,javascript,jquery,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": "

我有一个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);
然后,我尝试使用下面的代码在attachedFiles对象内部打印值fileName:

console.log(resObj.attachedFiles.fileName);
它总是返回未定义的。我知道我在这里误报了一些非常小的东西,但我无法发现它。

附件是数组。因此,请尝试使用索引器访问数组内容

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);
}
attachedFiles是一个数组,所以使用indexer它是基于零的索引,所以第一个元素的索引为零

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

结果的可能副本是数组,因此必须指定索引resObj.attachedFiles[0]。文件名请注意[0]访问attachedFiles数组中的第一个附加文件。如果要访问数组中数量可变的元素,必须使用for循环迭代数组:forvar i=0,l=resObj.attachedFiles.length;i