diff --git a/src/main/java/com/eactive/eai/common/util/JacksonUtil.java b/src/main/java/com/eactive/eai/common/util/JacksonUtil.java index 13fe42c..afd150f 100644 --- a/src/main/java/com/eactive/eai/common/util/JacksonUtil.java +++ b/src/main/java/com/eactive/eai/common/util/JacksonUtil.java @@ -35,6 +35,10 @@ public final class JacksonUtil { private static final Pattern TOKEN_PATTERN = Pattern.compile("([^\\[\\]]*)((?:\\[\\d+\\])*)"); private static final Pattern INDEX_PATTERN = Pattern.compile("\\[(\\d+)\\]"); + private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); + + + private JacksonUtil() { // 인스턴스화 방지 } @@ -75,6 +79,18 @@ public final class JacksonUtil { return objectMapper.readTree(jsonStr); } + + public static JsonNode readTree(Object jsonData) throws JsonMappingException, JsonProcessingException { + return readTree(jsonData, OBJECT_MAPPER); + } + + public static String writeAsString(JsonNode node) throws JsonProcessingException { + return OBJECT_MAPPER.writeValueAsString(node); + } + + public static ObjectNode createObjectNode() { + return OBJECT_MAPPER.createObjectNode(); + } /** * path 표현식으로 JsonNode를 탐색한다. @@ -258,4 +274,6 @@ public final class JacksonUtil { } return indices; } + + }