Spring

JsonStringToObject

IT Lab 2019. 10. 16. 23:45

 

jackson-databind

jackson-core

 

import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonUtil {
	
	private static final Logger logger = LoggerFactory.getLogger(JsonUtil.class);
	
	public <T> T converJsonStringToObject(String jsonString, TypeReference<T> type) {

		ObjectMapper mapper = new ObjectMapper();

		try {
			return mapper.readValue(jsonString, type);
		} catch (JsonParseException e) {
			e.printStackTrace();
			logger.debug("fail convert json string to object");
		} catch (JsonMappingException e) {
			e.printStackTrace();
			logger.debug("fail convert json string to object");
		} catch (IOException e) {
			e.printStackTrace();
			logger.debug("fail convert json string to object");
		}

		return null;
	}
}

 

import com.fasterxml.jackson.core.type.TypeReference;

public class ConvertJsonStringToObject {

	public static void main(String[] args) {
		
		JsonUtil jsonUtil = new JsonUtil();
		String jsonString = "{\"jsonObject\" : \"test\"}";
		JsonObject jsonObject = jsonUtil.converJsonStringToObject(jsonString, new TypeReference<JsonObject>() {});
		System.out.println(jsonObject.toString());
	}
	
	public static class JsonObject {
		
		String jsonObject;

		public String getJsonObject() {
			return jsonObject;
		}

		public void setJsonObject(String jsonObject) {
			this.jsonObject = jsonObject;
		}
		
		@Override
		public String toString() {
			return "jsonObject : " + jsonObject;
		}
	}

}