shokosブログ

プログラミング

Swing計画その1.3

ウィンドウに入力した文字列を英語→日本語に翻訳するアプリを作ってみようと思い、まずは翻訳するメソッドをつくりました

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class StringTranslation {

	public String toJapanese(String inputText) throws IOException {
		URL url = new URL(
				"http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q="
						+ inputText + "&langpair=en%7Cja");
		URLConnection connection = url.openConnection();
		connection.addRequestProperty("Referer",
				"http://www.mysite.com/index.html");
		String line;
		String str = "";
		BufferedReader reader = new BufferedReader(new InputStreamReader(
				connection.getInputStream()));
		while ((line = reader.readLine()) != null) {
			str += line;
		}
		String[] strs=str.split("\"");
		String result = strs[5];
		return result;
	}

}

引数にcatといれて実行すると、
strの中身は
{"responseData": {"translatedText":"猫"}, "responseDetails": null, "responseStatus": 200}
となります。

うまく 猫 だけ取り出そうと思い、
String[] strs=str.split("\"");
String result = strs[5];

といった感じにしました
力ずくにもほどがあるので他のいいやり方がきっとあるはず