2011-11-01 18 views
2

私は、ttwMusicPlayerを使ってjPlayerのjQuery base64デコーダを使ってオブジェクト配列の一部をデコードする方法を探しています。base64_decode a jQueryオブジェクト配列部分

配列:

var myPlaylist = [ 
{ 
mp3: 'aHR0cDovL2xvY2FsaG9zdC90aGVtZWxpdC9yb2NrbnJvbGxhL2ZpbGVzLzIwMTEvMTAvMDEtQnJpZGdlLUJ1cm5pbmcubXAz', 
title: 'Bridge Burning', 
artist: 'Rock N' Rolla', 
cover: 'http://localhost/themelit/rocknrolla/files/2011/10/folder-300x300.jpg', 
},{ 
mp3: 'aHR0cDovL2xvY2FsaG9zdC90aGVtZWxpdC9yb2NrbnJvbGxhL2ZpbGVzLzIwMTEvMTAvMDItUm9wZS5tcDM=', 
title: 'Rope', 
artist: 'Rock N' Rolla', 
cover: 'http://localhost/themelit/rocknrolla/files/2011/10/folder-300x300.jpg', 
}, 
]; 

プレーヤー:

正確に動作しない
function maybe_decode(theObject) { 
$j.each(theObject, function(value, key){ 
    //console.log($j.base64Decode(key.mp3)); 
    if(key.mp3) 
     return $j.base64Decode(key.mp3); 
    else 
     return key; 
}); 

}

:ようmyPlaylistを解析する機能を作成する

$j('#audio-player').ttwMusicPlayer(myPlaylist, { 
     autoPlay: false, 
     description: albumdesc, 
     jPlayer: { 
      swfPath: swfpath, 
      solution: 'html, flash', 
      supplied: 'mp3', 
     } 
    }); 

は思考、n配列を保持するが、mp3キーの値をデコードするeed。

思考?

UPDATE:

は種類のはこの内部maybe_decode(での作業GOT)

var Values = []; 
$j.each(theObject, function(idx, obj) { 
    $j.each(obj, function(key, value) { 
     if(key == 'mp3') 
      value = $j.base64Decode(value); 
     Values.push(key + ": " + value); 
     //console.log(key + ": " + value); 
    }); 
}); 
console.log(Values); 
return Values; 

唯一の問題は、それが1列に(この場合は2)複数のインデックスの配列をダンプすることです。

答えて

1

あなたのコードを正しく読んでいれば、完了したらValues配列が文字列を保持することになります。あなたはおそらく、やるべきことは、この線に沿っている:

var Values = []; 
$j.each(theObject, function(idx, obj) { 
    var newVals = {}; 
    $j.each(obj, function(key, value) { 
     if(key == 'mp3') 
      value = $j.base64Decode(value); 
     newVals[key] = value; 
    }); 
    Values.push(newVals); 
}); 
console.log(Values); 
return Values; 

これはあなたの最初の構造を使用して、オブジェクトを作成し、必要な情報を移入します。次に、オブジェクトをValues配列にプッシュします。これは、元の配列と同じ形式になります。

+0

初期テストではすべて動作しています。ありがとう。 –

関連する問題