我试图阅读下面返回的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) } }
答案 0 :(得分:5)
要将JSON解码为数组,您必须将 assoc 参数传递给json_decode
函数。
当 assoc 参数为TRUE时,返回的对象将转换为关联数组。
有关该功能的更多信息,请参阅PHP Docs。
示例代码
json_decode($data, true);
答案 1 :(得分:0)
json_decode有第二个参数,允许您将json数据解析为关联数组。 尝试:
json_decode($data, true);