循环遍历json数组对象问题

时间:2013-07-03 05:32:05

标签: php json

嗨,我正在尝试循环遍历一个json数组的对象,但我确实得不到任何回报,这是我的尝试。

 $jsonurl = 'http://eol.org/api/search/1.0.json?q='."$searchvar".'&page=1&exact=false&      filter_by_taxon_concept_id=&filter_by_hierarchy_entry_id=&filter_by_string=&cache_ttl=';
 $json = file_get_contents($jsonurl,0,null,null);
 $json_output = json_decode($json);

foreach ($json_output->dataObjects as $objects){
    print "{$objects->title}\n";
}

这是实际json数组的结构。

array

0    object
     id     19076
     title  Vulpes
     link   http://eol.org/19076?action=overview&controller=taxa
     content    Arctic foxes; kit foxes; red foxes; red fox

3 个答案:

答案 0 :(得分:2)

尝试:

foreach ($json_output->results as $object){
    print "{$object->title}\n";
}

答案 1 :(得分:1)

您可以尝试的另一种方法是将json解码为数组而不是对象。

$json_output = json_decode($json,true);

通过在json_decode()函数中传递变量为true,您将获得json_output作为可以轻松遍历的数组。

否则

你可以循环

foreach ($json_output->results as $object){
    echo "{$object->title}\n";
}

请参阅http://php.net/manual/en/function.json-decode.php

上的json_decode()函数php手册指南

答案 2 :(得分:0)

我希望这对你有所帮助

尝试使用object

键入强制转换
foreach ($json_output->dataObjects as $objects){

让我知道我是否可以帮助你更多