2012-01-16 24 views
1

json形式で配列値を返すにはどうすればよいですか?私はすでにyahooとfbからjson形式を扱う方法を知っていますが、json形式はTwitterで返され、コールバック関数では異なります。Json形式の配列値を取得するJavaScriptファイル

FB

my({ 
    "data": [{ 
      "name": "May Ann Salle", 
      "created_time": "2012-01-09T12:29:19+0000" 
      }] 
}); 

さえずり

my([ 
     { 
     "recipient_screen_name": "1stone" 
     }, 
     { 
     "recipient_screen_name": "2ndone" 
     } 
]); 



$.each(my, function(i, tw) { 
     disp += tw.recipient_screen_name; 
}); 

alert(disp); 

が、私は唯一の第一1を取得し、私は、配列の2番目の1を取得できませんよ。

+0

オブジェクト間の2番目の例では、コンマがありません。また、「マイ」とは何ですか? – Joe

+0

@Joeはそれを入力するのを忘れていますが、実際の出力にはあります。私はコールバック関数です。 –

+0

あなたのコードはそのままの状態で動作しますが、どのような問題がありますか? http://jsfiddle.net/BnCVU/ –

答えて

2

あなたは、これはちょうど約JSON-PないJSONで言及する必要があります。

とにかく、データセットごとに異なるコールバックが必要になる場合があります。

// your callback function 
function myTwitterCb(data) { 
    var disp = "" 
    var len = data.length 
    var tw = {} // placeholder object 
    for (var i = 0; i < len; i++) { 
    tw = data[i] 
    disp += tw.recipient_screen_name 
    } 
    doSomethingElseWith(disp) 
} 

function myFacebookCb(response) { 
    var data = response.data 
    var len = data.length 
    var fb = {} // placeholder object 
    for (var i = 0; i < len; i++) { 
    fb = data[i] 
    disp += fb.name 
    } 
    doSomethingElseWith(disp) 


} 

function doSomethingElseWith(disp) { 
    // draw it to the screen or something 
} 
2

これは動作するはずです:

var disp, i = 0, l = tw.length; 
for(i; i < l; i++) { 
    disp += tw[i].recipient_screen_name; 
} 

alert(disp); 
関連する問題