• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:kimonoで取得したjsonファイルの出力)

kimonoで取得したjsonファイルの出力

このQ&Aのポイント
  • kimonoで取得したjsonファイルをphpで表示させようとしたが、何も表示されず。
  • スクレイピングしたjsonファイルをphpで表示させる方法について助言を求めています。
  • kimonolabs.comを使用して取得したjsonファイルをPHPで出力する方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • shockatz
  • ベストアンサー率80% (153/191)
回答No.1

$resultsに正しく配列が展開されているとすれば、 echo $results['results']['collection1'][info]; ではなく、 echo $results['results']['collection1'][0][info]; では?

noname#244681
質問者

お礼

echo $results['results']['collection1'][0]['info']; で正しく表示できました! ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • JSON をスクレイピングするときに

    参考アドレス http://api.ce.nicovideo.jp/liveapi/v1/video.info?__format=json&v=lv262629172 http://api.ce.nicovideo.jp/liveapi/v1/video.info?__format=json&v=lv262502077 http://api.ce.nicovideo.jp/liveapi/v1/video.info?__format=json&v=lv260993313 スクレイピングでタグを取得するときに category は必須で、locked と free が両方あったり、片方無かったり、両方無かったりする場合にすべてのタグをうまく取得するにはどのようなコードを書けばよいですか。

    • ベストアンサー
    • PHP
  • jsonでn番目から最後までを取得するには?

    phpでアクセストークンを使ったinstagram jsonデータの取得を試みています。 n番目から最後までのデータを取得するにはどのようにすればよいでしょうか? -------------------------------------------------------- <?php //POSTリクエストの場合のみ受付 if($_SERVER['REQUEST_METHOD'] == 'POST'){ //アクセストークン $access_token = "29587...fa062d9"; //JSONデータを取得して出力 echo @file_get_contents("https://api.instagram.com/v1/users/self/media/recent/?access_token={$access_token}"); //終了 exit; } ?> --------------------------------------------------------

    • 締切済み
    • PHP
  • 複数のjsonファイルを「もっと見る」ボタンで出力

    プログラム初心者です。 Instagramからハッシュタグで画像を抽出し、「もっと見る」ボタンで少しずつHTMLに出力したいです。 ↓こちらのブログを参考にさせていただき、Instagramの画像をHTMLに出力するところまで、何とか辿り着きました。 http://blog.hello-world.jp.net/php/2777/ <script> $(function() { $.ajax({ url: "json/1.json", dataType: "json", error: function(jqXHR, textStatus, errorThrown) { $("#content").text(textStatus); }, success: function(data) { var dataArray = data; $.each(dataArray, function(i){ $("#content").append("<div><p id='" + dataArray[i].id + "'><a href='" + dataArray[i].link + "' target='_blank'><img src='" + dataArray[i].image_url + "'></a></p></div>"); }); } }); }); </script> この状態だと1枚目のjsonしか読み込んでいないので、2枚目以降のファイルも2.json、3.json…「もっと見る」ボタンで取得するようにしたいのですが、知識が足りず。。。 ↓こちらのサイトのように、スクロールで表示させるものでも良いのですが。 http://nekostagram.com/ 詳しい方、ご協力いただけるとありがたいです。 どうぞよろしくお願いいたします。m(__)m

  • ヤフオクを文字検索してフィードをJSON形式で得る

    ヤフオクを文字検索してフィードをJSON形式で得ることはできますか? 探し方が悪いのか全然見つけられません。 以前youtubeの検索は以下の様にできた経験があったので同じようにできないか探しています。 http://gdata.youtube.com/feeds/api/videos?v=2&alt=jsonc&start-index=○&max-results=○○○&q=検索文字列

    • ベストアンサー
    • CSS
  • JSON形式のデータ解析が出来なくて悩んでます。

    「Twitterから学ぶ,Web APIのキホン」(http://gihyo.jp/dev/serial/01/perl-hackers-hub/000403)のサンプルプログラムを参考にitunesの検索apiの検索結果を解析しようとしているのですが解析できなく、何も表示されない状態になります。 itunes 検索api http://www.apple.com/itunes/affiliates/resources/documentation/itunes-store-web-service-search-api.html まずは上のSearch Examplesにいくつか示しているitunes apiの検索結果(jsonデータ)から"artistId"に対する項目や"artistName"に対する項目を抜き出そうと試みています。 以下は実際に私が実行しているプログラムです。 ----------------------------------------------------------------- print <<"HTML"; Content-type: text/html <html> HTML use LWP::UserAgent; use URI; use JSON qw(decode_json); use Encode qw(encode_utf8); my $uri = URI->new('※ここにitunes apiの検索結果のurl入れています'); my $ua = LWP::UserAgent->new; my $res = $ua->get($uri); my $json = $res->content; my $ref = decode_json($json); for my $applist ( @{ $ref->{results} } ) { print encode_utf8("$applist->{artistId}: $applist->{artistName}\n");} -------------------------------------------------------------------------------------- としているのですが結果は何も表示されません。※cgiはmac 環境にてUTF-8 Mac(CR)で保存しております。 「Twitterから学ぶ,Web APIのキホン」のサンプルプログラムは正常に動いて表示出来ているのでモジュールやPerlのパスには問題ないと思います。 どうすればitunes 検索apiのjsonデータがPerlでちゃんと解析されるのかご教示お願いします。

    • ベストアンサー
    • Perl
  • phpのHttpRequestを使いたい。

    phpのHttpRequestでサーバにsetBodyしたいのですが、どのライブラリをどうインストールしたらいいでしょうか。 次のphpプログラムで、サーバにJSON形式のデータを送ろうと思っています。 $request = new HttpRequest("http://localhost/apiserver.php"); $request->setMethod(HTTP_METH_POST); $request->setBody(json_encode($info)); $request->send(); $response = $request->getResponseBody(); 上記のプログラムは、実績があり、間違っておりません。 しかし、”new HttpRequest”以降で処理が行われていません。 ”new HttpRequest”ができないと判断しています。 その”new HttpRequest”を実行するためのライブラリは一体なんでしょうか。 phpのバージョンは、5.4または5.5です。 ちなみに、次の2つのライブラリのそれぞれのphp_http.dllは試しましたが、うまくいきませんでした。 php_http-2.0.6-5.6-ts-vc11-x64 php_http-2.0.6-5.6-ts-vc11-x86 よろしくお願いします。

    • ベストアンサー
    • PHP
  • json_decode戻り値がどうしてもNULL

    json_decodeで戻り値がnullになり、どうも先に進めませんので、どちら様か叱咤・ご教示ください。 google maps api を利用して、住所(本来は日本語文字列住所)からジオコーディングして座標を取得し、google-map 上にプロットするようなロジックを考えておりましたが、住所からの座標変換が出来ずに困っております。 Aの部分はたぶん問題なさそうです。 理由としては、そこにあるURL文字列を直打ちした際にできる jsonファイルを保存し、その中身をみると、希望通りの座標データを含む住所データが格納されていました。 Bの部分でそれを取り出したいのですが、文字化けや妙なエラーになるのならまだしも、何もエラーにならず、しかしながら戻り値が何も入っていないように見受けられます。 このような現象をググったところ、よくありがちな現象ではあるそうですが、UTF8に気をつけなさいとか、UTF8にエンコーディングしなさいとか、DOMがどうだとか、いろいろ試行錯誤しましたが、いずれもNULLで返ってきます。 サーバは外部のレンタルサーバ(firstserver) PHP Version 5.3.19 DSO版 Apache2.2系 と記載がありましたので、その通りだと思われます。 何か根本的に間違っているのでしょうか。 その根本が分かっていないのは自他ともに認めるところではありますが、どちら様か、何かご存知でしたら、是非ご教示くださいませ。 ------ 問題のソース ----- <?php //header("Content-type: text/html; charset=utf-8"); $address = 'tokyo'; //A $geocode=file_get_contents('http://maps.google.com/maps/api/geocode/json?address='.urlencode($address).'&sensor=false'); //B $output= json_decode($geocode); //ここでjson_last_error()を確認したが、ここではエラーは一切出ない if($output==NULL){ print("null<br>"); exit; } $lat = $output->results[0]->geometry->location->lat; $lng = $output->results[0]->geometry->location->lng; echo $lat.','.$lng; ?> ------------ 表示結果 output:[] null 上記URLを直打ちした際に出来たjsonファイル(参考) *********************** { "results" : [ { "address_components" : [ { "long_name" : "東京駅", "short_name" : "東京駅", "types" : [ "train_station", "transit_station", "establishment" ] }, { "long_name" : "東京都", "short_name" : "東京都", "types" : [ "administrative_area_level_1", "political" ] }, { "long_name" : "日本", "short_name" : "JP", "types" : [ "country", "political" ] } ], "formatted_address" : "日本, 東京駅(東京)", "geometry" : { "location" : { "lat" : 35.681382, "lng" : 139.766084 }, "location_type" : "APPROXIMATE", "viewport" : { "northeast" : { "lat" : 35.6827309802915, "lng" : 139.7674329802915 }, "southwest" : { "lat" : 35.6800330197085, "lng" : 139.7647350197085 } } }, "place_id" : "ChIJC3Cf2PuLGGARxuYMi4MlMEQ", "types" : [ "train_station", "transit_station", "establishment" ] } ], "status" : "OK" } ***********************

    • ベストアンサー
    • PHP
  • レスポンスから値を取得したい

    PHPであるWebサービスにリクエストしたら以下のようなレスポンスが返ってきました。 var_exportとvar_dumpで出力した例は以下のとおりですが、この中から要素idの値(test1234)を取得するにはどのようにしたら良いのでしょうか? ■var_exportで出力した場合  API\Data\Response::__set_state(array('attributes' => array ('id' => 'test1234', …))) ■var_dumpで出力した場合  object(API\Data\Response)[20]   protected 'attributes' =>    array (size=9)     'id' => string 'test1234' (length=8)     … ※「API\Data\Response」の\は実際にはバックスラッシュです。 どうぞよろしくお願い致します。

    • ベストアンサー
    • PHP
  • mixi graph apiのログイン状況の取得

    xamppの1.7.7(Apache 2.2.21/PHP 5.3.8)上でmixi graph apiのテストをしています。 使用言語はPHPです。 developerサイトのpeopleAPIに関するページは下記URLです。 http://developer.mixi.co.jp/connect/mixi_graph_api/mixi_io_spec_top/people-api/#toc-5 # アクセストークンを抽出 $my_array = json_decode($atdata,true); $at = $my_array["access_token"]; # ログイン状況の取得 $people_api_url = "http://api.mixi-platform.com/2/people/@me/@self?fields=lastLogin?oauth_token=".$at; $people = file_get_contents($people_api_url); echo '<br />'.$people; 上記のfile_get_contentsに対して、failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Requestが出てしまいます。 ちなみにscopeの指定は、 $url = $authorization_url."?client_id=".$consumer_key."&response_type=code&scope=r_profile_last_login&display=pc"; で行なっています。 scopeをr_profileにして、 $people_api_url = "http://api.mixi-platform.com/2/people/@me/@self?oauth_token=".$at; のように変えると、同じpeopleAPI内の友人一覧の取得に関しては取得できるため、scopeの指定が間違っているのだと思うのですが…… 何が間違っているのかわかりません。 PHP初心者でまだわからないことだらけですが、もし何か記述方法の間違い等少しでもわかる方がいれば教えて頂けると幸いです。

    • ベストアンサー
    • PHP
  • 3次元配列を2次元配列にする方法はありますか?

    3次元配列を2次元配列にする方法はありますか? すいません、初心者です。 オープンソースとyahooとgoogleのAPIを使って統合型メタ検索エンジンを作っています。 yahooの結果の配列は2次元配列で出せました。 $search_results[$i]["url"] google APIは1回のリクエストで8件までしか呼び出せないみたいなので、 curl_multi関数を使って複数のリクエストを同時に取得しています。 そうしたら結果の配列は三次元配列になりました。 $search_results[$id][$i]["url"] 以下googleの関数です。curl_multiの部分等、文字数の関係で省略しています。 省略した部分のソースは下記リンクにのっています。 http://phpspot.org/blog/archives/2008/02/phpapi.html function search_google($query) { $curls = array(); $search_results = array(); $i=0; $site_results = array( 'http://ajax.googleapis.com/&start=0', 'http://ajax.googleapis.com/&start=8', 'http://ajax.googleapis.com/&start=16', 'http://ajax.googleapis.com/&start=24', 'http://ajax.googleapis.com/&start=32', 'http://ajax.googleapis.com/&start=40', 'http://ajax.googleapis.com/&start=48', 'http://ajax.googleapis.com/&start=56'); foreach($curls as $id=>$c) { $searchs[$id] = curl_multi_getcontent($c);//$cが$site_resultsのリクエスト結果 curl_multi_remove_handle($mh, $c); $json=json_decode($searchs[$id]); if($json->responseStatus != 200){exit();} $responseData = $json->responseData; $results = $responseData->results; for($i=0;$i<count($results);$i++){ $title = $current_result->title; $search_results[$id][$i]["title"]= $title; } } curl_multi_close($mh); return $search_results; } 統合型メタ検索にしたいと考えているのでgoogle配列の変数[$id]同士を結合して yahooの結果と同じく $search_results[$i]["url"] のような二次元配列にしたいのですが、そのようなことは可能ですか? 本当は両方とも3次元配列にするという処理が適切だと思いますが、初心者がオープンソースを改良して使用しているので、どこを直せば3次元配列のものをうまく表示できるのかわからないのです。 わかりにくかったらすいません。どうか、よろしくお願いします。

    • ベストアンサー
    • PHP