dream198731 2015-12-10 09:10
浏览 85
已采纳

在没有键/值对的情况下在PHP中更改JSON的顺序

I have a situation where i need to sort a JSON object by date. I've searched for solutions online and everything points in the direction of PHP's usort function, but all examples have a key/value pair to sort on.

This is how i load the feed:

$ret = file_get_contents($url);
$res = json_encode($ret);

Wich results in the following JSON

{  
   "2015-12-14":{  
      "direction":"S",
      "snowfall":0.0,
      [..]
  },
   "2015-12-15":{  
      "direction":"S",
      "snowfall":3.0,
      [..]
   },
   "2015-12-12":{  
      "direction":"SE",
      "snowfall":0.0,
      [..]
   },
   "2015-12-13":{  
      "direction":"S",
      "snowfall":0.0,
      [..]
   },
   "2015-12-10":{  
      "direction":"E",
      "snowfall":0.0,
      [..]
   },
   "2015-12-11":{  
      "direction":"S",
      "snowfall":0.0,
      [..]
   }
}

As you can see, the data is not properly ordered by date, but the date value is the key so how can i sort the object by date (2015-12-10, 2015-12-11, 2015-12-12, 2015-12-13, 2015-12-14, 2015-12-15)?

  • 写回答

3条回答 默认 最新

  • duandan5471 2015-12-10 09:19
    关注
    $json = '{  
       "2015-12-14":{  
    
          "direction":"S",
    
          "snowfall":0.0
    
      },
    
       "2015-12-15":{  
    
          "direction":"S",
    
          "snowfall":3.0
    
       },
    
       "2015-12-12":{  
    
          "direction":"SE",
    
          "snowfall":0.0
    
       },
    
       "2015-12-13":{  
    
          "direction":"S",
    
          "snowfall":0.0
    
       },
    
       "2015-12-10":{  
    
          "direction":"E",
    
          "snowfall":0.0
    
       },
    
       "2015-12-11":{  
    
          "direction":"S",
    
          "snowfall":0.0
    
       }
    
    }';
    
    $array = get_object_vars(json_decode($json));
    
    ksort($array);
    
    echo json_encode((object)$array);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应