내부 ObjectMapper 추가

This commit is contained in:
curry772
2026-07-03 08:57:42 +09:00
parent 8df8a73175
commit 3527884e31
@@ -35,6 +35,10 @@ public final class JacksonUtil {
private static final Pattern TOKEN_PATTERN = Pattern.compile("([^\\[\\]]*)((?:\\[\\d+\\])*)"); private static final Pattern TOKEN_PATTERN = Pattern.compile("([^\\[\\]]*)((?:\\[\\d+\\])*)");
private static final Pattern INDEX_PATTERN = Pattern.compile("\\[(\\d+)\\]"); private static final Pattern INDEX_PATTERN = Pattern.compile("\\[(\\d+)\\]");
private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper();
private JacksonUtil() { private JacksonUtil() {
// 인스턴스화 방지 // 인스턴스화 방지
} }
@@ -76,6 +80,18 @@ public final class JacksonUtil {
return objectMapper.readTree(jsonStr); 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를 탐색한다. * path 표현식으로 JsonNode를 탐색한다.
* 경로가 존재하지 않으면 null을 반환한다 (MissingNode가 아닌 진짜 null). * 경로가 존재하지 않으면 null을 반환한다 (MissingNode가 아닌 진짜 null).
@@ -258,4 +274,6 @@ public final class JacksonUtil {
} }
return indices; return indices;
} }
} }