从JSON获取特定值

时间:2013-04-03 01:52:17

标签: jquery json

我正在使用此

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两个都给了我一个错误说明未定义。

3 个答案:

答案 0 :(得分: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/

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

答案 2 :(得分:0)

应该是:

xyz.file_name

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

xyz[file_name] || xyz["file_name"]