1

我有一个在它的参数中传递 JSON 的函数......

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

应用程序.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() 不适用于对象。

4

1 回答 1

5

您可能已经尝试过.reverse()整个对象。由于您正在遍历数组this.list.payload,因此请反转该数组:

$.each(this.list.payload.reverse(), function(i, donor) {
于 2012-12-22T04:02:55.397 回答