我正在尝试在JSON查询中选择一个特定的对象。我已经解码了它,尽管我花了几个小时寻找答案,但我无法确定这个特定案例的答案。我想从Blogs响应中选择URL,但是我无法通过数组。
$oauth->fetch("http://api.tumblr.com/v2/user/info");
$json = json_decode($oauth->getLastResponse());
$url = $json->response->user->blogs;
$url1 = array($url->url); //This line doesn't give me the URL- I'm getting Array ( [0] => )
print_r($url1);
当我没有数组部分时的输出给我:
Array ( [0] => stdClass Object ( [name] => 12748784 [url] => http://12748784.tumblr.com/ [followers] => 0 [primary] => 1 [title] => Untitled [description] => [admin] => 1 [updated] => 1341883193 [posts] => 1 [drafts] => 0 [messages] => 4 [queue] => 0 [ask] => 1 [ask_anon] => [tweet] => N [facebook] => N [facebook_opengraph_enabled] => N [type] => public ) ) ) ) )
谢谢你能给我的任何帮助。我已经找累了。
根据汤博乐文档,blogs
是一个对象数组。因此,array($url->url)
毫无意义。它应该是你代码中的$url1 = $url[0]->url
,对我来说,这看起来很可怕。
我会做一些更像这样的事情。
$blogs = $json->response->user->blogs;
$urls = array();
foreach ($blogs as $object) {
$urls[] = $object->url;
}
通过这种方式,您可以从对象数组中获取所有博客URL。这有道理吗?