2011-01-13 20 views
0

私はサイドプロジェクトに取り組んでいます。そのコアでは、四角形のjsonフィードをループすることができる配列にする必要があります。私のコードは以下の通りですと、次のエラーが発生:foursquare 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結果を返しています。

答えて

0
  1. json_decodeを使用する必要があります。
  2. $json_ouputが空でないかどうかを確認してください。
  3. json_decodeには、2番目の引数としてtrueが渡されています(正しいとします)。つまり、連想配列を返します。

    どちらかそれを省略:配列として

    $json_output = json_decode($json); 
    

    またはアクセスitemsを:

    foreach ($json_output['response']['groups'][0]['items'] as $items) 
    
+0

ああ、私の一部に、このような愚かな間違い。素晴らしい答え。 – jethomas

0

すでにjsonに入っている文字列でjson_encodeを使用しています。代わりにjson_decodeを試してください;

関連する問題