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); 動作します。それが DEFAULT データ型だからです。上記で動作し始める理由がわかりません。率直に言って気にしません-助けてくれてありがとう。

于 2012-10-23T14:26:58.900 に答える