@RestController public class HelloController { @Autowired private Resource resource; @RequestMapping("/getResource") public JSONResult getResource(){ Resource bean = new Resource(); BeanUtils.copyProperties(resource,bean); JSONResult result = JSONResult.ok(bean); return result; } }
public class JSONResult { //定义jackson对象 private static final ObjectMapper MAPPER = new ObjectMapper(); //响应业务状态 private Integer status; //响应消息 private String msg; //响应中的数据 private Object data; private String ok; public static JSONResult build(Integer status,String msg,Object data){ return new JSONResult(status,msg,data); } public static JSONResult ok(Object data) { return new JSONResult(data); } public static JSONResult ok(){ return new JSONResult(null); } public static JSONResult errorMsg(String msg){ return new JSONResult(500,msg,null); } public static JSONResult errorMap(Object data){ return new JSONResult(501,"error",data); } public static JSONResult errorTokenMsg(String msg){ return new JSONResult(502,msg,null); } public static JSONResult errorException(String msg){ return new JSONResult(555,msg,null); } public JSONResult() { } public JSONResult(Integer status,String msg,Object data){ this.status = status; this.msg = msg; this.data = data; } public JSONResult(Object data){ this.status = 200; this.msg = "OK"; this.data = data; } public Boolean isOK(){ return this.status == 200; } 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 String getOk() { return ok; } public void setOk(String ok) { this.ok = ok; } /** * * @Description: 将json结果集转化为LeeJSONResult对象 * 需要转换的对象是一个类 * @param jsonData * @param clazz * @return * * @author leechenxiang * @date 2016年4月22日 下午8:34:58 */ public static JSONResult formatToPojo(String jsonData, Class<?> clazz) { try { if (clazz == null) { return MAPPER.readValue(jsonData, JSONResult.class); } JsonNode jsonNode = MAPPER.readTree(jsonData); JsonNode data = jsonNode.get("data"); Object obj = null; if (clazz != null) { if (data.isObject()) { obj = MAPPER.readValue(data.traverse(), clazz); } else if (data.isTextual()) { obj = MAPPER.readValue(data.asText(), clazz); } } return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj); } catch (Exception e) { return null; } } /** * * @Description: 没有object对象的转化 * @param json * @return * * @author leechenxiang * @date 2016年4月22日 下午8:35:21 */ public static JSONResult format(String json) { try { return MAPPER.readValue(json, JSONResult.class); } catch (Exception e) { e.printStackTrace(); } return null; } /** * * @Description: Object是集合转化 * 需要转换的对象是一个list * @param jsonData * @param clazz * @return * * @author leechenxiang * @date 2016年4月22日 下午8:35:31 */ public static JSONResult formatToList(String jsonData, Class<?> clazz) { try { JsonNode jsonNode = MAPPER.readTree(jsonData); JsonNode data = jsonNode.get("data"); Object obj = null; if (data.isArray() && data.size() > 0) { obj = MAPPER.readValue(data.traverse(), MAPPER.getTypeFactory().constructCollectionType(List.class, clazz)); } return build(jsonNode.get("status").intValue(), jsonNode.get("msg").asText(), obj); } catch (Exception e) { return null; } } }
data属性,没有getData跟setData方法
看一下这个位置bean的属性值是不是为空:
JSONResult result = JSONResult.ok(bean);