java中自定义封装json以及和对象的转换
2017-10-26 00:23
826 查看
首先创建服务端返回的数据类型对象:
package com.studio.pojo.util;import org.codehaus.jackson.map.ObjectMapper;
public class PlanResult {
//定义jackson对象
private static final ObjectMapper MAPPER = new ObjectMapper();
//响应业务状态
private Integer status;
//相应消息
private String msg;
//相应中的数据
private Object data;
public static ObjectMapper getMAPPER() {
return MAPPER;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
}
创建json和对象转化的工具类:
package com.studio.util;import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.List;
/**
* 高效todo自定义响应结构
*/
public class JsonUtils {
//定义jackson对象
private static final ObjectMapper MAPPER = new ObjectMapper();
/**
* 将对象转化为json字符串
* @param data
* @return
*/
public static String ObjectToJson(Object data){
try{
String string = MAPPER.writeValueAsString(data);
return string;
} catch (JsonProcessingException e) {
e.printStackTrace();
}
return null;
}
/**
* 将json字符串转化为对象
* @param jsonData
* @param beanType
* @param <T>
* @return
*/
public static <T> T jsonToPojo(String jsonData, Class<T> beanType){
try {
T t = MAPPER.readValue(jsonData, beanType);
return t;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
/**
* 将json字符串数据转化为pojo对象list
* @param jsonData
* @param beanType
* @param <T>
* @return
*/
public static <T> List<T> jsonToList(String jsonData, Class<T> beanType){
JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);
try {
List<T> list = MAPPER.readValue(jsonData, javaType);
return list;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
测试将返回对象转化为json字符串:
package com.studio.util;import com.studio.pojo.util.PlanResult;
import java.util.HashMap;
import java.util.Map;
public class test {
public static void main(String[] args){
PlanResult result = new PlanResult();
Map<String, Object> resultMap = new HashMap<>();
resultMap.put("username","wangtianyuan");
resultMap.put("password","123456");
resultMap.put("accountEmail","1129988388@qq.com");
result.setData(resultMap);
result.setMsg("查询成功!");
result.setStatus(1);
System.out.println(JsonUtils.ObjectToJson(result));
}
}
输出结果:
{"status":1,"msg":"查询成功!","data":{"password":"123456","accountEmail":null,"username":"wangtianyuan"}}相关文章推荐
- java中json包的使用以及字符串,map,list,自定义对象之间的相互转换
- java中json包的使用以及字符串,map,list,自定义对象之间的相互转换
- json数据解析与JAVA对象转换以及在JQUERY中的使用
- java fastjson如何自定义转换含枚举类型对象(编程技巧)
- 关于json以及json字符串和Java对象的转换
- java中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json
- Java中Json对象与String的相互转化,以及String与Map之间的转换,以及ArrayList中添加对象
- java中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json
- 封装将json对象转换为java集合对象
- JSON-JSON字符串转换成JSON对象、JSON对象数组、java实体类以及保存到List列表中
- JSON-JSON字符串转换成JSON对象、JSON对象数组、java实体类以及保存到List列表中
- java中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json
- java fastjson如何自定义转换含枚举类型对象(编程技巧)
- java方式的将java对象以及list或者map转化为json数据,json转换为object或者map
- android/java中把对象、对象bean、Collection以及字符串转换成Json格式数据
- java中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json
- 使用JAVA将任意封装对象转换成JSON、XML文件与对象之间的相互转化
- Java中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json
- Java对象与JSON互相转换jsonlib以及手动创建JSON对象与数组——(二)
- 把java对象转换为json串的类