访问一组其他对象和数组中的数组

时间:2013-03-27 23:15:01

标签: php arrays json

我正在使用freebase API。当我从curl操作得到结果时,我将json解码为PHP。现在我正在尝试访问文本归属。它深埋在这组物体和阵列中。

stdClass Object ( [id] => /m/09c7w0 [property] => stdClass Object ( [/common/topic/description] => stdClass Object ( [valuetype] => string [values] => Array ( [0] => stdClass Object ( [text] => The United States of America, commonly called the United States and colloquially referred to as... [lang] => en [creator] => /user/wikirecon_bot [project] => wikirecon [dataset] => /m/0kj4zz_ [citation] => stdClass Object

这是我到目前为止所尝试的但是我遇到了一些错误。 $ stuff = $ data-> property-> / common / topic / description-> text;

我知道错误可能是“/ common / topic / description”的结果。我应该转换json响应php对象还是我应该首先尝试在json中找到我的值?有没有办法可以访问该属性“text”

2 个答案:

答案 0 :(得分:2)

使用json_decode($jsonstring, true)仅使用文本和数字键获取数组,而不使用任何对象。

这样可以更方便地访问所有内容。您对键的命名方式的限制甚至更少。

答案 1 :(得分:0)

有点难以阅读你的类和数组的混合但是试试这个:

$data->property->{'/common/topic/description'}->values[0]->text