PHP - 读取Json并解析为数组

时间:2018-01-15 05:35:41

标签: php arrays json

我试图阅读下面返回的json,但我一直在收到错误。

无法使用stdClass类型的对象作为数组

我通过curl获取json,然后 json_decode ($ data);

foreach($array as $a)
{
   switch($a)
   {
       case"BTC":
         //do something
       case"ETH":
         //do something


   }

}

网址:

https://min-api.cryptocompare.com/data/pricemulti?fsyms=BTC,LTC,XMR,XRP,DASH,ZEC&tsyms=USD

Var Dump结果:

object(stdClass)#405 (6) { ["BTC"]=> object(stdClass)#404 (1) { ["USD"]=> float(13571.4) } ["LTC"]=> object(stdClass)#406 (1) { ["USD"]=> float(235.57) } ["XMR"]=> object(stdClass)#407 (1) { ["USD"]=> float(399.11) } ["XRP"]=> object(stdClass)#408 (1) { ["USD"]=> float(1.83) } ["DASH"]=> object(stdClass)#409 (1) { ["USD"]=> float(1000.25) } ["ZEC"]=> object(stdClass)#410 (1) { ["USD"]=> float(658.29) } } 

2 个答案:

答案 0 :(得分:5)

解码为关联数组

要将JSON解码为数组,您必须将 assoc 参数传递给json_decode函数。

assoc 参数为TRUE时,返回的对象将转换为关联数组。

有关该功能的更多信息,请参阅PHP Docs

示例代码

json_decode($data, true);

答案 1 :(得分:0)

json_decode有第二个参数,允许您将json数据解析为关联数组。 尝试:

json_decode($data, true);