我正在使用这个
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
都给了我一个错误,说未定义。
看起来会是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>" );
}
根据您的输出,我相信您只需要查看参考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);
});
应该只是:
xyz.file_name
或者,如果您使用方括号表示法:
xyz[file_name] || xyz["file_name"]