0

私は Yelp API v1 を使用しており、カテゴリ オブジェクトに格納されている category_filter を取得しようとしています。JSON の一部は次のようになります。

"businesses": [
{
 "address1": "800 N Point St",
 "phone": "4157492060",
 "categories": [{
"category_filter": "newamerican",
"search_url": "http://www.yelp.com/search?cflt=newamerican\u0026find_desc=\u0026find_loc=800+N+Point+St%2C+San+Francisco+94109",
"name": "American (New)"
}],
 "name": "Gary Danko",
 }]

私のphpスクリプトは次のようになります:

<?php
$yelpstring = file_get_contents("PATH TO JSON", true); 

$obj = json_decode($yelpstring, true);
foreach($obj['businesses'] as $business){
echo "Restaurant name: " . $business['name']."<br/>";
echo "Restaurant Type: " . $business['categories']['category_filter']."<br/>";
echo "Address 1: " . $business['address1']."<br/>";
echo "Phone: " . $business['phone'] ."<br/>";
echo "<hr>";
}
?>

name、address1、および phone を取得していますが、category_filter は取得していません。次のような php エラーが表示されます。

「通知: 未定義のインデックス: file.php の 12 行目の category_filter」

私が間違っていることを理解していません。

4

1 に答える 1

2

$business['categories']['category_filter']

間違っている

以下を使用する必要があります。$business['categories'][0]['category_filter']

json には "[{" があり、別の配列に配列 (/object、assoc-array としてデコード) があることを意味します。

于 2013-04-09T19:58:06.130 に答える