PHPでJSONデータへのアクセスについて
15年前にC言語を少し学び、以後はVBA等のスクリプト言語をたまにかじっている程度の初級者です。
PHPは今回初めて触ります。
AmazonのサジェストAPIでキーワードを取得しようと試みてみました。
http://completion.amazon.co.jp/search/complete?method=completion&search-alias=aps&mkt=6&q=キーワード
このURLにキーワードを放り込むとJSONデータが帰ってきます。
例:キー
[
"キー",
[
"キーボード",
"キーケース",
"キーホルダー",
"キーケース レディース",
"キーケース メンズ",
"キーリング",
"キースへリング",
"キーボード bluetooth",
"キーボード 楽器",
"キーカバー"
],
[
{
"nodes": [
{
"alias": "computers",
"name": "パソコン・周辺機器"
},
{
"alias": "electronics",
"name": "家電&カメラ"
},
{
"alias": "mi",
"name": "楽器"
}
]
},
{},
{},
{},
{},
{},
{},
{},
{},
{}
],
[]
]
■■コード1 予測変換の取得
$text = "キー";
$url = 'http://completion.amazon.co.jp/search/complete?method=completion&search-alias='.$s_alias.'&mkt=6&q='.urlencode($text);
$json = file_get_contents($url);
$data = json_decode($json,true);
foreach( $data[1] as $x){
$x = str_replace( $text , " " , $x);
print $x;
}
このコード1で変換予測まではなんとかアクセス出来ました。
しかし、『nodes』の『name』と『alias』へアクセスするにはどういうコードを書けばアクセスできるか分からず詰まっています。
PHPもJSONも連想配列もよく分かって居ないため、
どの情報へアクセスすれば良いのかわからず数日右往左往してました。
詳しい方、『nodes』の『name』と『alias』へのアクセスの仕方をよろしければご教示下さいませ。
お礼
ありがとうございました。phpでデコードして、jqueryでは data.title[0]のようにアクセスするんですね。。。本当に助かりました。