2012-12-22 93 views
1

我有一個在它的PARAM通過JSON功能...如何反轉JSON對象?

{ 
    "code":0, 
    "payload":[ 
     { 
     "time":1349661897, 
     "packages":[ 
      "49381" 
     ], 
     "ign":"PurpleArrow", 
     "price":"15.99", 
     "currency":"USD" 
     } 
} 

app.js:

var Donors = function(api) { 

    this.list = api; 

    $.each(this.list.payload, function(i, donor) { 
    var ign = donor.ign, 
     price = donor.price, 
     currency = donor.currency; 

    if(price !== "-") $('#donors').append('<li>' + ign + ' donated ' + price + currency + '</li>'); 
    }); 
} 

和index.php文件:

var donors = new Donors(<?php cbProxy(); ?>); 

而就在 - 情況下,PHP函數只是獲取json。

function cbProxy(){ 
    $api = 'http://api.buycraft.net/v3?secret=MYSECRETKEY&action=payments'; 
    $url = urldecode($api); 
    $url = 'http://' . str_replace('http://', '', $url); 
    echo file_get_contents($url); 

} 

我試圖找出我怎麼能扭轉JSON所以最後IGN顯示的第一而不是第一個,也就是在這裏JSON。那麼我如何重新訂購json呢?無法從前面提出的問題中找到答案,並且我一直在獲取.reverse()或.sort()在對象上不起作用。

回答

5

您可能試過.reverse()整個對象。既然你遍歷數組this.list.payload過來,扭轉數組來代替:

$.each(this.list.payload.reverse(), function(i, donor) { 
+0

唉唉這樣做是使用一個變量,沒有工作。現在確實如此,謝謝! – devs

+0

另一個問題,在我爲此提出全新問題之前 - 你可能知道。假設我只想顯示5而不是整個對象。我該怎麼做?順便說一句,我也喜歡攪拌機:) – devs

+0

@devs:你可以切片數組:'this.list.payload.slice(0,5)' – Blender