• 締切済み

javaを使い、jsonデータを取得したい。

Apple iTunes Store RSSのjson形式データを、 javaを使い取得し、取得した情報を表示させたいのですが、 試行錯誤しましたが、未だ取得・表示出来ませんでした。 ・Apple iTunes Store RSS https://rss.itunes.apple.com/jp/ ソング トップ10のjsonデータ URLの末尾にxmlをjsonに入力。 https://itunes.apple.com/jp/rss/topsongs/limit=10/json また、取得の際に、gsonを使いたいと思います。 javaのソースでgsonを使い、上記itunesの情報(音楽アーティスト名、曲名、発売日、URLリンク先)を取得可能なソースを教えて頂きたいと思います。 ご教授、宜しくお願い致します。

  • Java
  • 回答数1
  • ありがとう数0

みんなの回答

回答No.1

gson->json ですよね。 そのうち標準 API に json が組み込まれるそうですが、 Jacksonとかいろいろフリーのものもあります。 サンプルはライブラリのマニュアルを見てください。 すごく簡単なはずです。

関連するQ&A

  • 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
  • JAVAのjsonの扱いについて

    お世話になります。 JAVAのjsonの扱いについてPHPのjson_decode()のように処理をしたいと 思っていますがうまくいかず、どなたかご教授おねがいします。 下記jsonデータの値を取得したいです。 PHPのjson_decode()のように簡単にデータにアクセスする方法はないのでしょうか? {"class":{"count":2},  "class_info":[{"name":"クラスA",          "teacher":{"name":"sam", "age":35},          "member":["AA","BB"]},          {"name":"クラスB",          "teacher":{"name":"risa", "age":30},          "member":["CC","DD"]}]} [Test.java] 下記ではMapを使用していますが簡単にアクセスできる方法を探しています。 ========================================= import net.arnx.jsonic.JSON; import java.util.Map; public class Test { public static void main(String[] args) { Map map = (Map)JSON.decode("{'class':{'count':2},'class_info':[{'name':'Aclass','teacher':{'name':'sam', 'age':35},'member':['AA','BB']},{'name':'Bclass','teacher':{'name':'risa', 'age':30},'member':['CC','DD']}]}"); /* class の情報 */ // phpの連想配列でいうとmap['class'] 表示 System.out.println(map.get("class")); // phpの連想配列でいうとmap['class']['count']表示させたい /* class_info の情報*/ // phpの連想配列でいうとmap['class_info'][0]を表示させたい // phpの連想配列でいうとmap['class_info'][0]['name']を表示させたい // phpの連想配列でいうとmap['class_info'][0]['teacher']を表示させたい // phpの連想配列でいうとmap['class_info'][0]['teacher']['age']を表示させたい // phpの連想配列でいうとmap['class_info'][0]['member'][1]を表示させたい } } =========================================

    • ベストアンサー
    • Java
  • javascriptでJSONを取得する方法

    C#、asp.netでJson形式の文字列をjavascriptに渡してgooglemapで使用したいです。 json.netやらDynamicJson やらがインストールされていないと使用できないのでしょうか。 aspx.cs dynamic dataSet = 取得したlist; System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer(); serializer.Serialize(dataSet); javascript function json() { $.ajax({ url: ××.aspx.cs, type: "get", dataType: 'json', error: function () { alert("情報の読み込みに失敗しました"); }, success: function (data) {        alert("data"); } }); } こちらでは、情報の読み込みに失敗しましたとアラートが出てしまいます。 http://qiita.com/rbtnn/items/b2ec6c7dee792e66ac75 http://aspnet.keicode.com/basic/jquery-ajax-basics.php この2つのサイトを参考にしています。 dataSetの中身に目的のリストが取得できているのは確認済みです。 何がいけないのでしょうか。 どうやったらJSONをjavascriptで読み込めるのでしょうか。 どなたかよろしくお願いします。

  • Java json gson(google)

    拝見して戴きまして有難うございます.今の状況を(1)~(5)にまとめました. (1) URL(http://zip.ricollab.jp/search?q=3130041&type=json)から    JSONデータを取って来きてjsonDataという変数に格納したとする. (2) Javaのgson(JSONを処理しやすくするためのクラス群)を用いているとする. (3) Userという名称のクラスを作り以下記述で受け取りたい User user = new User(); user = gson.fromJson(jsonData.toString(),User.class); (4) JSONデータは(1)のURLの時以下である. { "query": "3130041", "totalResults": 1, "itemsPerPage": 10, "result": [ { "zipcode": "3130041", "address": "茨城県常陸太田市稲木町", "lin k": "http://zip.ricollab.jp/3130041" } ]} (5) (1)~(4)の状況を抱えている状態なのですが,ここでJSONデータのresultが配列になっています.Userクラスを以下のように定義するとその手前まで全て受け取れます.しかしこの後,resultはどうすれば受け取れますか?HashMap<String, String> result;のような連想配列かな?とか思ったのですが・・・上手く出来ず困っています.分かる方お願いします. class User { String query; String totalResults; String itemsPerPage; }

    • ベストアンサー
    • Java
  • ActionScript JSON

    FLASHのActionScriptから、JSONデータを読み込んで、表示をさせたいのですが、 やり方が分かりません。よろしくお願いします。 JSONにより出力されたデータで、例えば  {001:apple}があった場合、 FLASH上のインプットフィールド上にに001を入力すると、別インプットフィールド上にappleが表示されるようにしたいのですが、方法はありますか? よろしくお願いします。

  • Google MapsのKMLをJSONで取得したい。

    Google MapsのKMLをJSONで取得したい。 Google Mapsで作成したマイマップのKMLを見るとURLが書かれています。 このURLの末尾を「&output=kml」→「&output=json」 と変更するとJSONで取得できると思うのですが、 実行するとstatus=0となっていまいます。 HTTPヘッダを見る限り200なので取得出来ているようなのですが・・・ なぜでしょうか?教えてください。 === var jsonUrl = 'url' var xhr = new XMLHttpRequest(); xhr.open("GET", jsonUrl, true); xhr.onreadystatechange = function() { if (xhr.readState ==4 && xhr.status == 200){ var jresult = document.getElementById("json_panel"); jresult.innerHTML += xhr.responseTEXT; } else { alert (xhr.statusTEXT); } } xhr.send();

  • PHPでJSONを扱うときに配列の参照について

    Web ad Fortune http://jugemkey.jp/api/waf/api_free.php という占いのAPIをPHPにて使おうと思い、 JSON形式で情報が帰ってくるようなので JSONについて調べて json_decode()関数を使うことにしました。 しかし、いまいち配列からのデータ参照ができません。どういうことかというと、 牡羊座のランクを取り出したいときに 【ソース】 <?php $json = file_get_contents("http://api.jugemkey.jp/api/horoscope/free/2009/02/27","r"); $obj = json_decode($json); echo "<pre>"; print_r($obj->horoscope->2009/02/27[0]["rank"]); echo "</pre>"; ?> としても何も表示されません。 ちなみに、print_rの部分を print_r($obj->horoscope); とすると http://nanigashi.biz/json.php のように表示されます。 配列からの情報の読み込み(データ参照)がわかりません。 教えてください。

    • ベストアンサー
    • PHP
  • PHPでHTMLソースを取得する方法はありますか?

    PHPでHTMLソースを取得する方法はありますか? RSSで複数のHTMLソースを取得しました。 以下のことをやりたいのですが、こういったことは可能でしょうか? ・複数のHTMLソースを取得する(同じサイトからなのでタグの種類も大体同じものです) ・その中から<data>タグを取得する(dataの中にはそれぞれ適当な数字が入っています) ・それをソートして、ソート順にURLを表示する。 このようなことは可能でしょうか? $RSS=RSSのURL(XML) foreach($RSS as $value){ $URL[]=$value->URL; } for ($i = 0, $n = count($URL); $i < $n; $i++) { echo $URL[$i] . "<br />"; } これでそれぞれのURLが URL1 URL2 URL3 とそれぞれ表示されます。これらのURLからそれぞれの<data>タグを取得して上のようなことをやりたいです。 説明が下手で申し訳ありませんが、よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPでJSON形式のデータから取得する方法

    PHPで取得したJSON形式のデータからキーワードを取得する方法を教えてください。 <?php $query = '自転車'; $url = 'http://api.suggest.search.rakuten.co.jp/suggest?cl=dir&rid=0&sid=0&oe=utf-8&cb=cb&q='.urlencode($query); $json = file_get_contents($url); print_r($json); ?> $jsonには以下のデータが返ってきます。 cb({"input":"自転車","status":0,"result":[["自転車 ライト"],["自転車 26インチ"],["自転車 カバー"],["自転車 置き場"],["自転車 27インチ"],["自転車 24インチ"],["自転車 2013"],["自転車 レインカバー チャイルドシート"],["自転車 スタンド"],["自転車 チャイルドシート"]]}) このデータから以下のキーワードデータの配列を取得するにはどうすればよいのでしょうか? 自転車 ライト,自転車 26インチ,自転車 カバー,自転車 置き場,自転車 27インチ,自転車 24インチ,自転車 2013,自転車 レインカバー チャイルドシート,自転車 スタンド,自転車 チャイルドシート

    • ベストアンサー
    • PHP
  • ajaxにより取得したxmlデータの加工について

    ajax通信でRSSのxmlデータを取得し、一部のタグを抽出してhtml上にリンク一覧を作りたく、以下のような処理をテストで作りました。 $(function() { $.ajax({ url: '取得対象のxmlファイルパス', type: 'GET', success: function(data) { //var json = $.xml2json(data); $(data)find('title').each(function(){ console.log($(this).text()); }); } }); }); コンソールにはすべて空データしか確認できないのですが、取得したdataを変換等する必要がありますでしょうか。