0

私は Web サービスが初めてで、学習段階にあります。MovieDB API Web サービスの使用に関する情報を提供するオンライン コンテンツはあまりありません。そうではありませんが、私はただ画面上の映画情報を取得しようとしているだけです。

そのため、 APIに従って情報を要求しています。ブラウザーにhttp://api.themoviedb.org/3/movie/550?api_key=MYKEYを貼り付けると、JSON 応答が返されます。

JAVA、SOAP を使用して Web サービスを作成し、JSON を解析して必要な情報を取得したいと考えています。HttpURLConnection を使用してから BufferedReader を使用しようとしましたが、機能しません。

より良いオプションをいくつか提案してください。リンク/ブログは役に立ちます。

これはコード スニペットです。

public class TestJSON {

/**
 * @param args
 */
public static void main(String[] args) {
    try{
        URL url = new URL("http://api.themoviedb.org/3/movie/550?api_key=MYKEY/3/movie/550");
        HttpURLConnection con = (HttpURLConnection) url.openConnection();
        con.setDoOutput(true);
        con.setRequestMethod("GET");
        con.setRequestProperty("Content-Type", "application/json");

        String input = "";

        OutputStream os = con.getOutputStream();
        os.write(input.getBytes());
        os.flush();

        if (con.getResponseCode() != HttpURLConnection.HTTP_CREATED) {
            throw new RuntimeException("Failed : HTTP error code : "
                + con.getResponseCode());
        }

        BufferedReader br = new BufferedReader(new InputStreamReader((con.getInputStream())));

        String output;
        System.out.println("Output from Server .... \n");
        while ((output = br.readLine()) != null) {
            System.out.println(output);
        }

        con.disconnect();


    }
    catch(MalformedURLException m){
        System.out.println("Malformed URL");
    }
    catch(IOException ioe){
        System.out.println("IO exception");
    }


}

}

前もって感謝します。

ジンゴ

4

1 に答える 1

0

次のコードを試して、URL から出力を読み取ってください。

BufferedReader in = new BufferedReader(
                          new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer html = new StringBuffer();

while ((inputLine = in.readLine()) != null) {
    html.append(inputLine);
}
in.close();
于 2013-07-12T18:11:29.483 に答える