如何反转JSON对象?

时间:2012-12-22 04:01:13

标签: php javascript jquery 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()对某个对象不起作用。

1 个答案:

答案 0 :(得分:5)

您可能已尝试.reverse()整个对象。由于您正在遍历数组this.list.payload,所以改为反转该数组:

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