PHP - 读取Json并解析为数组

4

我试图读取下面返回的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

变量转储结果:

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) } } 

@nerdyDev请不要在评论中提供解决方案。更好的做法是投票将此页面关闭为重复。 - mickmackusa
1
可能是如何解析来自CURL的JSON响应的重复问题。 - mickmackusa
好的,我会删除我的评论。 - nerdyDev
2个回答

5

解码为关联数组

要将JSON解码为数组,您需要通过json_decode函数传递assoc参数。

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

有关该函数的更多信息,请参见PHP文档

示例代码

json_decode($data, true);

如果这是解决方案,那么这个问题在StackOverflow上是一个未经充分研究的超级重复问题。 - mickmackusa

0

json_decode 有第二个参数,可以将 JSON 数据解析为关联数组。 尝试一下:

json_decode($data, true);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接