0

我正在使用 Blueimp Jquery File Upload 小部件,它返回的东西看起来像一个 json 数据数组。如果您查看以下示例(并非所有 json 数据以使其更易于阅读):

[{"name":"10 (2).jpg","size":264843,"type":"image\/jpeg"}]

现在,如果我想访问所述数组的“名称”值,我该怎么做?使用下面的方法,可以完成这项工作,但是当数组只有一个元素长时,我的日志也会充满“未定义”值:

    $.each(data.result, function (index, file) {
        console.log(file.name);
    });

执行 console.log(data.result) 会吐出我给出的上述数组示例,而尝试执行 console.log(data.result[0]) 只会吐出

[

显然我没有得到任何东西。$.each 方法适用于多个元素,但为什么它对单个项目失败?此外; 更重要的是,我如何获得“名称”值,因为在当前的应用程序中,这就是我真正需要的所有信息。

4

2 回答 2

1

你有一个字符串,所以 data.result[0] 会给出第一个字符。看来您必须解析字符串:

var data = jQuery.parseJSON( data.result )

这可能会奏效。

于 2012-10-23T12:19:07.430 回答
0

好的,所以我添加了“BlueImp”小部件选项以包括:

dataType: 'json',

突然 console.log(file.name); 作品。愚蠢,因为那是默认数据类型!不知道为什么它开始使用上述内容,坦率地说不在乎 - 感谢各位的帮助。

于 2012-10-23T14:26:58.900 回答