0

我正在做一个附带项目,其核心是,我需要将一个四方 json 提要放入一个可以循环的数组中。我的代码如下并导致以下错误:

Warning: Invalid argument supplied for foreach() in /homepages/7/d346835943/htdocs/dealrub/results.php on line 56

这是我正确获取的 json 提要的示例:

$jsonurl = "http://api.foursquare.com/v2/venues/search?ll=".$lat.",".$lon."&limit=100";
$json = file_get_contents($jsonurl,0,null,null);
$json_output = json_encode($json, true);

foreach ( $json_output->response->groups[0]->items as $items )
{
     echo "{$items->name}\n";
}

任何关于我做错了什么的帮助将不胜感激。我离开了没有我的 api 密钥的 jsonurl,但它成功地返回了 json 结果。

4

2 回答 2

0

您正在对已经存在于 json 中的字符串使用 json_encode。改用 json_decode ;)

于 2011-01-13T03:38:38.400 回答
0
  1. 你必须使用json_decode.
  2. 检查是否$json_ouput不为空。
  3. 您将true作为第二个参数传递给json_decode(假设您正确),这意味着它返回一个关联数组。

    要么省略:

    $json_output = json_decode($json);
    

    items作为数组访问:

    foreach ( $json_output['response']['groups'][0]['items'] as $items )
    
于 2011-01-13T03:39:35.923 回答