Gson을 사용해서 JSON을 파싱하고자 합니다.

문자열로 표현된 JSON 데이터를 파싱하고 싶습니다. Google Gson을 사용하고 있는데요.

JSON 데이터:

jsonLine = "
{
 "data": {
  "translations": [
   {
    "translatedText": "Hello world"
   }
  ]
 }
}
";

구현하고자 하는 클래스:

public class JsonParsing{

   public void parse(String jsonLine) {

      // there I would like to get String "Hello world"

   }

}

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    간단하게 다음과 같이 구현할 수 있습니다. 아래의 코드는 간단하게 주요 부분만 작성한 것이고 모든 예외 처리는 생략한 것입니다.

     public String parse(String jsonLine) {
        JsonElement jelement = new JsonParser().parse(jsonLine);
        JsonObject  jobject = jelement.getAsJsonObject();
        jobject = jobject.getAsJsonObject("data");
        JsonArray jarray = jobject.getAsJsonArray("translations");
        jobject = jarray.get(0).getAsJsonObject();
        String result = jobject.get("translatedText").toString();
        return result;
    }
    

    좀 더 일반화시키고자 한다면 Gson's javadoc을 참고하세요.

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.