我是webservice的新手,我正处于学习阶段。没有太多的在线内容提供有关使用MovieDB API webservice的信息。好吧不是我只是专注于试图在屏幕上获取电影信息。
因此我按API请求信息,当我在浏览器中粘贴http://api.themoviedb.org/3/movie/550?api_key=MYKEY时,我收到了JSON响应。
我想编写一个使用JAVA的Web服务,SOAP来解析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");
}
}
}
提前致谢。
惊鼓
答案 0 :(得分:0)
尝试使用此代码来读取网址的输出:
BufferedReader in = new BufferedReader(
new InputStreamReader(conn.getInputStream()));
String inputLine;
StringBuffer html = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
html.append(inputLine);
}
in.close();