json_decode到数组不起作用

时间:2014-02-04 12:03:24

标签: php json

我通过getCreditDetail函数生成一些json,我想将其转换为数组。以下不起作用:

$obj = json_decode($kredit->getCreditDetail($_GET['id']));
print $obj['projekt']; 

我现在期望得到一个“测试”结果。

var_dump($ obj);返回:

array(1) {
 [0]=>
 object(stdClass)#3 (18) {
   ["id"]=>
   string(2) "37"
   ["0"]=>
   string(2) "37"
   ["projekt"]=>
   string(19) "test"
   ["1"]=>
   string(19) "test"
   ["cat"]=>
   string(3) "M&A"

1 个答案:

答案 0 :(得分:3)

目前,json_decode作为对象返回。要使其作为数组返回,请将第二个参数添加为true。

更改;

$obj = json_decode($kredit->getCreditDetail($_GET['id']));

要;

$obj = json_decode($kredit->getCreditDetail($_GET['id']), true);

我注意到你正在使用多维数组,请继续阅读;

所以,我创建了一个多维数组并通过执行编码;

$array = array(0 => array(1 => "Unicorn", 2 => "Horse", 3 => "Rhino"));
$json= json_encode($array[0], JSON_NUMERIC_CHECK);

这会返回JSON,例如;

{"1":"Unicorn","2":"Horse","3":"Rhino"}

我通过执行来访问JSON;

$json = json_decode($json);
echo $json->{1};

返回“独角兽”