从json获取变量

时间:2016-01-11 20:00:49

标签: php jquery

我有这个:

{"sliders":{"c1":{"content":[{"title":1,"content_type":"image_content"}]}}}

我可以使用以下代码获得标题:

$decoded = json_decode($list[$i]['info'],true);
$json = $decoded['sliders']['c1']['content'][0]);
                $x = $json['title'];
                echo $x;

当我想要获取content_type ...

$y = $json['content_type'];
                echo $y;

...然后它显示我未定义的索引错误..为什么会发生这种情况?

1 个答案:

答案 0 :(得分:1)

首先:陈述......

$json = $decoded['sliders']['c1']['content'][0]);

...应该为过多的右括号提供语法错误 )

$ decoding 的var_dump显示了这一点:

object(stdClass)#1 (1) {
  ["sliders"]=>
  object(stdClass)#2 (1) {
    ["c1"]=>
    object(stdClass)#3 (1) {
      ["content"]=>
      array(1) {
        [0]=>
        object(stdClass)#4 (2) {
          ["title"]=>
          int(1)
          ["content_type"]=>
          string(13) "image_content"
        }
      }
    }
  }
}

因此,整个变量 $ decoding 对象的对象。
对象 content 一个数组一个(在本例中)对象: content [0]

因此,您可以访问这两个项目 - 在适当情况下使用对象数组表示法:

echo $decoded->sliders->c1->content[0]->title;
echo $decoded->sliders->c1->content[0]->content_type;

OR

$json = $decoded->sliders->c1->content[0];
echo $json->title;
echo $json->content_type;

......两者都会给出:

1
image_content