Json转换工具类
Json字符串是常用的数据格式,下面提供一个Json和JavaBean转换的工具类,它其实也是基于jackson的:
packagecom.csdn.myboot.utils;
importcom.fasterxml.jackson.core.JsonProcessingException;
importcom.fasterxml.jackson.databind.JavaType;
importcom.fasterxml.jackson.databind.ObjectMapper;
importjava.util.List;
/**
*@Title:JsonUtils.java
*@Packagecom.lee.utils
*@Description:自定义响应结构,转换类
*Copyright:Copyright(c)2016
*Company:Nathan.Lee.Salvatore
*@authorleechenxiang
*@date2016年4月29日下午11:05:03
*@versionV1.0
**/
publicclassJsonUtils{
//定义jackson对象
privatestaticfinalObjectMapperMAPPER=newObjectMapper();
/**
*将对象转换成json字符串。
*Title:pojoToJson
*Description:
*@paramdata
*@return
**/
publicstaticStringobjectToJson(Objectdata){
try{
Stringstring=MAPPER.writeValueAsString(data);
returnstring;
}catch(JsonProcessingExceptione){
e.printStackTrace();
}
returnnull;
}
/**
*将json结果集转化为对象
*@paramjsonDatajson数据
*@paramclazz对象中的object类型
*@return
**/
publicstaticTjsonToPojo(StringjsonData,ClassbeanType){
try{
Tt=MAPPER.readValue(jsonData,beanType);
returnt;
}catch(Exceptione){
e.printStackTrace();
}
returnnull;
}
/**
*将json数据转换成pojo对象list
*Title:jsonToList
*Description:
*@paramjsonData
*@parambeanType
*@return
**/
publicstaticListjsonToList(StringjsonData,ClassbeanType){
JavaTypejavaType=MAPPER.getTypeFactory().constructParametricType(List.class,beanType);
try{
Listlist=MAPPER.readValue(jsonData,javaType);
returnlist;
}catch(Exceptione){
e.printStackTrace();
}
returnnull;
}
}
测试:
@ResponseBody
@RequestMapping("/hello")
publicStringhello(){
UserDomainuser7=newUserDomain();
user7.setUserId(7);
user7.setUserName("CristianoRonaldo");
user7.setPassword("abc123");
user7.setPhone("13900000000");
Stringcr7=JsonUtils.objectToJson(user7);
Stringc="{\"userId\":7,\"userName\":\"CristianoRonaldo\",\"password\":\"abc123\",\"phone\":\"13900000000\"}";
UserDomainu=JsonUtils.jsonToPojo(c,UserDomain.class);
System.out.println(u.toString());
Stringlistc="["+c+"]";
Listlist=JsonUtils.jsonToList(listc,UserDomain.class);
System.out.println(list);
returncr7;
}
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对毛票票的支持。如果你想了解更多相关内容请查看下面相关链接