猿问

JSON解码为数组

JSON解码为数组

我试图将一个JSON字符串解码成一个数组,但是我得到了以下错误。

致命错误:不能在第6行的C:\Wamp\www\temp\asklaila.php中使用stdClass类型的对象作为数组

以下是代码:

<?php
$json_string = 'http://www.domain.com/jsondata.json';$jsondata = file_get_contents($json_string);
$obj = json_decode($jsondata);print_r($obj['Result']);?>


繁星点点滴滴
浏览 427回答 3
3回答

明月笑刀无情

按文献,您需要指定是否需要关联数组而不是对象。json_decode,这将是代码:json_decode($jsondata,&nbsp;true);

达令说

这是一个后期的贡献,但有一个有效的理由为铸造。json_decode带着(array).考虑以下几点:$jsondata&nbsp;=&nbsp;'';$arr&nbsp;=&nbsp;json_decode($jsondata,&nbsp;true);foreach&nbsp;($arr&nbsp;as&nbsp;$k=>$v){ &nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;$v;&nbsp;//&nbsp;etc.}如果$jsondata作为空字符串返回(根据我的经验),json_decode会回来NULL,导致错误警告:为第3行的foreach()提供的无效参数..您可以添加行if/然后代码或三元运算符,但海事组织更简单地将第2行改为.$arr&nbsp;=&nbsp;(array)&nbsp;json_decode($jsondata,true);..除非你是json_decode数以百万计的大型阵列同时运行,在这种情况下,正如@TCB 13所指出的那样,性能可能会受到负面影响。
随时随地看视频慕课网APP
我要回答