The constructor JsonParser() is deprecated 경고를 해결하는 방법은 무엇인가요??

google.gson 을 사용하여 Json 형식으로 만들어둔 String Object 를 받아와서 parser 해야 하는 상황입니다.

파서 자체는 정상적으로 동작하는것 같지만 아래와 같은 경고가 계속 나오는데...

무시하고 써도 되는것인지, 다른 방법으로 파싱해야 되는것인지 궁금합니다.

경고 : "The constructor JsonParser() is deprecated"

    2개의 답변이 있어요!

    • 기본생성자인 JsonParser() 로 객체를 생성했다는 말씀이시죠.

      말씀하신 것 처럼 기본 생성자로 객체를 만드는 것은 2019년 4월 16일 deprecated 되었습니다.
      deprecated 되었다는 것은 더 이상사용을 권장하지 않는 방법입니다.
      업데이트 되면서 사라질 수도 있기에 되도록이면 권장하는 방법을 사용하는 것이 좋습니다.

      대신 정적 팩토리 메서드를 제공하므로 이것을 이용해서 사용하시면 됩니다.

      String 을 받아서 parse를 하려면 parseString를 사용하면 됩니다.

      예) testParseString

      String json = "{a:10,b:'c'}"; JsonElement e = JsonParser.parseString(json);

    • 안녕하세요

      해당 경고는 현재 라이브러리 버전에서는 'Jsonparse 생성자' 사용 가능하지만 이후 버전에는 사용하지 않을 예정이므로,

      gson 라이브러리를 업그레이드 했을 때에는 문제가 발생할 수 있습니다.

      아래는 Gson 샘플 입니다.

      // 샘플 데이터 Map<String, Object> map = new HashMap<>(); map.put("firstName", "hong"); map.put("lastName", "gildong"); Gson gson = new Gson(); // Map => Json String 변환 String json = gson.toJson(map); // Json String => Map 변환 map = gson.fromJson(json, Map.class);