一、引言
json字符串现在是项目中很常用的了,尤其是在写接口返回数据一般都是json格式的。小编最近在看项目中,发现有多处地方用到了java对象转json,但是引用的jar包都是不统一的。
常见的有由alibaba提供的fastjson、jackson 等等一些
二、实现
引入jar先,jackSon解析JSON,SpringMVC内置的解析器就是这个。
com.fasterxml.jackson.core
jackson-databind
2.4.2
com.fasterxml.jackson.core
jackson-core
2.7.3
com.fasterxml.jackson.core
jackson-databind
2.7.3
com.fasterxml.jackson.core
jackson-annotations
2.7.3
/dependency>
br />
br />
import com.fasterxml.jackson.core.JsonProcessingException;
br />
import com.fasterxml.jackson.databind.JavaType;
br />
import com.fasterxml.jackson.databind.ObjectMapper;
br />
br />
import java.util.List;
br />
br />
/**
br />
* json工具类
br />
*/
br />
public class JsonUtils {
br />
br />
// 定义jackson对象
br />
private static final ObjectMapper MAPPER = new ObjectMapper();
br />
br />
/**
br />
* 将对象转换成json字符串。
br />
*
p>Title: pojoToJson
/p>
br />
*
p>Description:
/p>
br />
* @param data
br />
* @return
br />
*/
br />
public static String objectToJson(Object data) {
br />
try {
br /> String string = MAPPER.writeValueAsString(data);
br /> return string;
br /> } catch (JsonProcessingException e) {
br /> e.printStackTrace();
br /> }
br />
return null;
br />
}
br />
br />
/**
br />
* 将json结果集转化为对象
br />
*
br />
* @param jsonData json数据
br />
* @param clazz 对象中的object类型
br />
* @return
br />
*/
br />
public static
T>T jsonToPojo(String jsonData, Class
beanType) {
try {
T t = MAPPER.readValue(jsonData, beanType);
return t;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
/**
* 将json数据转换成pojo对象list
* Title: jsonToList
* Description:
* @param jsonData
* @param beanType
* @return
*/
public static List jsonToList(String jsonData, Class beanType) {
JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);
try {
List list = MAPPER.readValue(jsonData, javaType);
return list;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/142044.html