1

我正在使用免费基础 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 中找到我的值?有没有办法可以访问该属性“文本”

4

2 回答 2

2

仅用于json_decode($jsonstring, true)获取带有文本和数字键的数组,而没有对象。

这样就更容易访问所有内容。您甚至对如何命名键的限制更少。

于 2013-03-27T23:23:08.240 回答
0

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

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

于 2013-03-27T23:20:16.857 回答