-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"
    }
}

2 つの異なる 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 に答える