-2

我正在使用这个

afterEachUpload: function(data){
var xyz = $.parseJSON(data);
console.log(xyz); gives below thing.
}

这是我的 JSON 输出

Object {upl: Object}
upl: Object
file_name: "testt.jpg"

我需要获取文件名。我尝试过的 xyz.upl[0] and xyz[0].upl都给了我一个错误,说未定义。

4

3 回答 3

0

看起来会是xyz.upl.file_name吗?我看到的没有涉及数组,所以 [0] 不适用。

有点难以分辨,但从示例中,我假设 jquery 响应本质上是:

xyz = {
    upl: {
       field_name: "val"
    }
}

这是两个不同 JSON 对象的示例 - 一个与我认为您的示例的意图相匹配,一个与您在评论中的请求相匹配:

var json_without_array = { upl: { fieldname: "it works" } };

var json_with_array = { upl: [
    { fieldname: "it works #1" },
    { fieldname: "it works #2" },
    { fieldname: "it works #3" } 
]}

document.write( json_without_array.upl.fieldname + "<br>" );

for( i in json_with_array.upl ){
   document.write( json_with_array.upl[i].fieldname + "<br>" ); 
}

http://jsfiddle.net/Z4dgy/

于 2013-04-03T01:54:45.763 回答
0

根据您的输出,我相信您只需要查看参考xyz.upl.file_name

这是一个模仿原始 console.log 的示例:http: //jsfiddle.net/VVSvv/

$(document).ready(function(){
    var json = '{"upl" : {"file_name": "test.jpg"}}';
    var xyz = $.parseJSON(json);
    console.log(xyz);
    document.write(xyz.upl.file_name);
});
于 2013-04-03T01:55:03.140 回答
0

应该只是:

xyz.file_name

或者,如果您使用方括号表示法:

xyz[file_name] || xyz["file_name"]
于 2013-04-03T01:56:19.907 回答