返回json数据的几种方式

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/qq_34721292/article/details/94630881

一、

public class ResponseUtil {

	public static void write(HttpServletResponse response,Object o)throws Exception{
		response.setContentType("text/html;charset=utf-8");
		PrintWriter out=response.getWriter();
		out.println(o.toString());
		out.flush();
		out.close();
	}
}

post请求:

$.post("${pageContext.request.contextPath}/comment/save.html", {
				"content" : content,
				"imageCode" : imageCode,
				"blog.id" : "${blog.id}"
			}, function(result) {
				if (result.success) {
					alert("评论已提交成功,审核通过后显示!");
				} else {
					alert(result.errorInfo);
				}
			}, "json");
JSONObject result = new JSONObject();
result.put("success", false);
result.put("errorInfo", "验证码填写错误!");
ResponseUtil.write(response, result);

===================================================
二、

/**
 * 用于封装后端返回前端数据对象
 */
public class ResultInfo implements Serializable {
    private boolean flag;//后端返回结果正常为true,发生异常返回false
    private Object data;//后端返回结果数据对象
    private String errorMsg;//发生异常的错误消息
    
//构造方法及get 、set方法......略
//验证码错误
            ResultInfo info = new ResultInfo();
            //注册失败
            info.setFlag(false);
            info.setErrorMsg("验证码错误");
            //将info对象序列化成json
            ObjectMapper mapper = new ObjectMapper();
            String json = mapper.writeValueAsString(info);
            response.setContentType("application/json;charset=utf-8");
            response.getWriter().write(json);

//响应数据
        ObjectMapper mapper = new ObjectMapper();
        response.setContentType("application/json;charset=utf-8");
        mapper.writeValue(response.getOutputStream(),info);

单独一个字符串的:

   if(flag){
                //激活成功
                msg = "激活成功,请<a href='login.html'>登陆</a>";
            }else {
                msg = "激活失败,请联系管理员!";
            }
            response.setContentType("text/html;charset=utf-8");
            response.getWriter().write(msg);

方法的封装:

/**
     * 直接将传入的对象序列化位json,并且返回给客户端
     * @param obj
     */
    public void writeValue(Object obj,HttpServletResponse response) throws IOException {

        ObjectMapper mapper = new ObjectMapper();

        response.setContentType("application/json;charset=utf-8");
        mapper.writeValue(response.getOutputStream(),obj);
    }
    /**
     * 将传入的对象序列化位json,并且返回给调用者
     * @param obj
     */
    public String writeValueAsString(Object obj) throws JsonProcessingException {
        ObjectMapper mapper = new ObjectMapper();
        return mapper.writeValueAsString(obj);
    }

猜你喜欢

转载自blog.csdn.net/qq_34721292/article/details/94630881