在PHP中的json_encode之后无法检索JSON Object attr的值

时间:2015-11-11 18:02:55

标签: php json object encode

我无法在此(显然有效的)JSON对象中获取image属性的值:

echo var_dump($result);

array(1) {
  ["images"]=>
  array(1) {
    [0]=>
    array(1) {
      ["src"]=>
      string(112) "http://staticf5a.diaadia.info/sites/default/files/styles/landscape_310_155/public/nota_periodistica/taxis_13.jpg"
    }
  }
}

$jsonResult = json_encode($result); //result is an array of arrays
echo $jsonResult;

{"images":[{"src":"http:\/\/staticf5a.diaadia.info\/sites\/default\/files\/styles\/landscape_310_155\/public\/nota_periodistica\/taxis_13.jpg"}]}

echo $jsonResult->images; //show nothing

这个代码段几天前正在运行,日志(ini_set('display_errors', '0');)没有显示任何相关信息。

2 个答案:

答案 0 :(得分:2)

编码后,$jsonResult只是一个字符串,您无法在不先解码的情况下访问编码JSON的任何元素。

看看PHP的“json_decode”''功能:http://php.net/manual/pl/function.json-decode.php

它会将JSON转换回关联数组或对象。

无论如何,我不知道为什么你将关联数组编码为JSON并尝试访问那里的images而不是从数组本身获取它。

答案 1 :(得分:0)

您正在尝试从字符串中获取属性。 json_encode()以字符串形式返回对象的json表示形式。您可以使用json_decode()

将该字符串转换为实际对象