【问题标题】:PHP - Read Json and parse to arrayPHP - 读取 Json 并解析为数组
【发布时间】:2018-06-23 18:08:51
【问题描述】:

我正在尝试读取下面返回的 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 转储结果:

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 请避免以 cmets 的形式提供解决方案。更好的是,投票关闭此页面作为重复页面。
  • ok 将删除我的评论。

标签: php arrays json


【解决方案1】:

解码为关联数组

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

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

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

示例代码

json_decode($data, true);

【讨论】:

  • 如果这是解决方案,那么这个问题是 StackOverflow 上研究不足的超级重复问题。
【解决方案2】:

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

json_decode($data, true);

【讨论】:

    猜你喜欢
    • 2017-02-23
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-08
    相关资源
    最近更新 更多