![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
「Twitterから学ぶ,Web APIのキホン」(http://gihyo.jp/dev/serial/01/perl-hackers-hub/0 …)のサンプルプログラムを参考にitunesの検索apiの検索結果を解析しようとしているのですが解析できなく、何も表示されない状態になります。
itunes 検索api
http://www.apple.com/itunes/affiliates/resources …
まずは上の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でちゃんと解析されるのかご教示お願いします。
No.1ベストアンサー
- 回答日時:
CGI としてブラウザでアクセスするのではなく、コマンドラインで実行するとデータが表示されませんか。
こちらで質問としてあげられたコードをコピペしてコマンドラインで実行すると JSON データはちゃんと表示されています。
CGI としてアクセスするとうまく表示されない理由は、このプログラムで作成される出力が HTML ドキュメントとして正しくないからです。
Content-Type: text/html と <html>との間には空行が必要ですし、なによりブラウザに表示するコンテンツは、<body></body> の間に入っていなければなりません。
HTML ドキュメントの構造について調べなおすことをお勧めします。
ありがとうございます。コマンドライン実行で表示出来ました!
HTML記述の初歩的なミスでした。助かりました!
ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- JavaScript json形式データのデータ連携について 4 2022/04/05 23:01
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP JSON_UNESCAPED_UNICODEをつけてもJSONの日本語がブラウザで表示されない 1 2022/11/16 07:22
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript API連携のプログラミングについて(Typescript) 2 2023/05/03 11:00
- JavaScript WordPressのコンタクトフォーム7にて送信者の位置情報を送らせたい 2 2022/09/14 23:28
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
結果を得て自動的にページ移動...
-
アクセス人数制限CGIについて。
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
メモリをアドレスを直接指定し...
-
SELECT OPTIONの中身をコピペ...
-
FindFirst を複数条件で検索
-
【至急!!!】python言語で本を見...
-
構造体の各データの表示につい...
-
文字の横にプルダウンを表示さ...
-
ACCESS テキストボックスを隙...
-
セレクトメニューで2つの項目...
-
UWSCのSELECT文の記述方法
-
16進の10進変換について
-
formで特定のinputを送信しない...
-
テーブル内でドロップダウンメ...
-
「*:*」って何を意味するのでし...
-
C言語のflagの使い方が分かりま...
-
c言語 16進数の2進数への変換
-
複数列を持ったリストボックス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
パソコン → パャRン
-
my $html<<EOMの意味を教えてく...
-
TXTに出力すると文字化けが起こる
-
テキストエリアにテキストファ...
-
テキストエリアの改行を取得したい
-
結果を得て自動的にページ移動...
-
malformed header from script....
-
perlで作ったcgiがIE6で西ヨー...
-
SSI にグローバル変数を渡すこ...
-
スマートフォンからの荒らし対策
-
Pythonを用いてCGIを作る勉強を...
-
出来ているHTMLに無料CGIをつけ...
-
CGIから出力される文字が化けて...
-
TeraPadでよく使う文字を特定キ...
-
テキストファイルの読み込み
-
CGIにおいて、エンコード・文字...
-
CGI内からSSIを実行した...
-
1つのプログラム内で"html出力...
-
何がいけないんでしょうか?
-
Apacheのログにエラー出力
おすすめ情報