금요일 저녁. 야근을 할 계획은 없었으나, 오전중에 팀원이 적용한 서비스 선처리 권한관련 이리저리 시간을 할애하다 보니.

사람들이 하나 둘 퇴근을 한 후. 마음을 다잡고 테스트를 하다보니, 무효한 JSON String에 대한 처리가 제대로 되고 있지 않은것이 보인다.

    JsonParser jsonParser = new JsonParser();
    JsonElement jsonElement = jsonParser.parse(strJson);

폐쇄망이라 핸드폰으로 잠깐 구글링을 해 보고, 당연히 무효한 문자열을 파싱함에 있어 Exception을 throw 할 것으로 기대했으나.

    try {
        JsonObject jsonObject = jsonElement.getAsJsonObject();
    } catch (IllegalStateException e) {
        System.out.println("Not JSON Object");
    }

퇴근을 하고, 집에 돌아와 좀더 찾다보니. 파싱 시점이 아닌 get시점에 catch하는 방법을 찾을수 있었다.

그 전까지는 JSON String이 “{“으로 시작하는지 체크해야 하나 싶었다.

Read Count