com.fivefaces.cloud.workflow.awsonprem.utils.JsonUtilImpl Maven / Gradle / Ivy
package com.fivefaces.cloud.workflow.awsonprem.utils;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import java.util.Map;
@Service
@RequiredArgsConstructor
public class JsonUtilImpl implements JsonUtil {
private final ObjectMapper objectMapper;
@Override
public Object read(String json) {
try {
if (StringUtils.isBlank(json)) {
return null;
}
return objectMapper.readValue(json, Object.class);
} catch (JsonProcessingException e) {
throw new IllegalArgumentException("Could not parse", e);
}
}
@Override
public Map readMap(String json) {
try {
if (StringUtils.isBlank(json)) {
return null;
}
return objectMapper.readValue(json, new TypeReference<>() {
});
} catch (JsonProcessingException e) {
throw new IllegalArgumentException("Could not parse", e);
}
}
@Override
public String write(Object object) {
try {
return objectMapper.writeValueAsString(object);
} catch (JsonProcessingException e) {
throw new IllegalArgumentException("Could not write JSON", e);
}
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy