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

조회수 6307회

문자열로 표현된 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을 참고하세요.

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)