/**
* 1.对象如何转化为JSON串的???
* 步骤:
* 1.获取对象的所有的getXXXX()方法.
* 2.将获取的getXXX方法的前缀get去掉 形成了json的key=xxx
* 3.通过getXXX方法的调用获取属性的值,形成了json的value的值.
* 4.将获取到的数据 利用json格式进行拼接 {key : value,key2:value2…}
* 2.JSON如何转化为对象???
* {lyj:xxx}
* 步骤:
* 1. 根据class参数类型,利用java的反射机制,实例化对象.
* 2. 解析json格式,区分 key:value
* 3. 进行方法的拼接 setLyj()名称.
* 4.调用对象的setXXX(value) 将数据进行传递,
* 5.最终将所有的json串中的key转化为对象的属性.
*
*
* @throws JsonProcessingException
*/
package com.jt.util;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class ObjectMapperUtil {
private static final ObjectMapper MAPPER = new ObjectMapper();
//将对象转化为JSON
public static String toJSON(Object target){
try {
return MAPPER.writeValueAsString(target);
} catch (JsonProcessingException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
//将JSON转化为对象
//需求: 如果用户传递什么类型,则返回什么对象
public static <T> T toObject(String json,Class<T> targetClass){
try {
return MAPPER.readValue(json, targetClass);
} catch (JsonProcessingException e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
}