[java] Gson 라이브러리의 JSON 유효성 검사 방법은?
- validate 메서드를 사용하는 방법:
String jsonString = "{ \"key\": \"value\" }"; Gson gson = new Gson(); try { gson.fromJson(jsonString, Object.class); System.out.println("유효한 JSON입니다."); } catch (JsonSyntaxException e) { System.out.println("유효하지 않은 JSON입니다."); }
validate 메서드인
fromJson
을 호출하고 반환되는 오브젝트를Object
클래스로 지정하여 유효성을 확인할 수 있습니다. 만약 JSON 형식이 유효하지 않다면JsonSyntaxException
이 발생합니다. - JsonParser를 사용하는 방법:
String jsonString = "{ \"key\": \"value\" }"; JsonParser parser = new JsonParser(); try { parser.parse(jsonString); System.out.println("유효한 JSON입니다."); } catch (JsonParseException e) { System.out.println("유효하지 않은 JSON입니다."); }
JsonParser
를 사용하여 JSON 문자열을 파싱하고, 파싱이 성공적으로 이루어진다면 유효한 JSON이라고 간주됩니다. 파싱이 실패하면JsonParseException
이 발생합니다. - 스키마 유효성 검사를 위한 Gson SchemaValidator 사용 방법:
String jsonString = "{ \"key\": \"value\" }"; Gson gson = new Gson(); Schema schema = new Schema.Parser().parse("{\"type\" : \"record\",\"name\" : \"Test\",\"fields\" : [{\"name\" : \"key\", \"type\" : \"string\"}]}"); try { gson.getAdapter(schema).fromJson(jsonString); System.out.println("유효한 JSON입니다."); } catch (IOException e) { System.out.println("유효하지 않은 JSON입니다."); }
스키마 유효성 검사를 위해
Schema
를 정의하고, 이를 기반으로Gson
의getAdapter
메서드를 호출하여 JSON 데이터를 유효성 검사할 수 있습니다. 만약 JSON 형식이 스키마와 일치하지 않는다면IOException
이 발생합니다.
Gson 라이브러리는 다양한 방법을 제공하기 때문에 상황에 맞게 적절한 방법을 선택하여 JSON 유효성 검사를 수행할 수 있습니다.