2016-12-07 4 views
2

현재 Google 번역사의 "무료"API를 사용하여 String을 번역하려고합니다. 내가 가진 currenly functionGoogle 번역의 반환 된 응답 구문 분석 translate_a

는 다음과 같은 예를 들어, 저를 반환

static String sourceLang = "en"; 
static String targetLang = "de"; 

public static void translate(String msg) throws Exception { 

    msg = URLEncoder.encode(msg, "UTF-8"); 
    URL url = new URL("http://translate.googleapis.com/translate_a/single?client=gtx&sl=" + sourceLang + "&tl=" 
      + targetLang + "&dt=t&q=" + msg + "&ie=UTF-8&oe=UTF-8"); 

    URLConnection uc = url.openConnection(); 
    uc.setRequestProperty("User-Agent", "Mozilla/5.0"); 

    BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream(), "UTF-8")); 
    String inputLine; 

    while ((inputLine = in.readLine()) != null) { 
     System.out.println(inputLine); 
    } 

    in.close(); 
} 

[[["Das ist ein Satz","This is a sentence",,,3]],,"en"] 

또는

[[["Dies ist ein weiterer Satz mit einigen Symbolen \"$% \u0026 /() = º ~ ª ^","This is another sentence with a few symbols \"$%\u0026/()=º~ª^",,,3]],,"en"] 

내가 몇 JSON으로 찾아 봤는데 구문 분석 방법을 사용했지만 JSON으로 변환 한 다음 해당 문자열을 구문 분석하는 방법을 찾지 못했습니다. 3 개의 String 또는 String [].

정상적으로 어떻게해야합니까?

미리 감사드립니다.

답변

1

이 코드 조각은 트릭을 수행 할 수 있습니다

Pattern p = Pattern.compile("\"([^\"]*)\""); 
    String line = "yourtext"; 
    Matcher m = p.matcher(line); 
    while (m.find()) { 
     System.out.println("m.group(1)=" + m.group(1)); 
    } 
+0

감사합니다, 나는 그것을 시도 할 것이다! 늦게 답변을 드려 죄송 합니다만 어제 답장 알림 메일 만 받았습니다. – Ani