HttpServletResponse输出json

上接:Jackson 处理json-准备(ObjectMapper)

代码

将 java 对象转成 json 字符串:

JsonResult jr=new JsonResult(100,"请登录");
ObjectMapper om=new ObjectMapper();
String json=om.writeValueAsString(jr);

通过 response 输出 json 字符串:

// 一定要在获取流之前调用,否则无效
resp.setContentType("application/json; charset=utf-8");
resp.setCharacterEncoding("UTF-8"); // 有时不写也可以

PrintWriter out = resp.getWriter();
out.println(json);
out.flush();
out.close();

JsonResult类:

@JsonInclude(JsonInclude.Include.NON_NULL)
public class JsonResult<T> {

    protected int code;
    protected String msg;
    protected T data;

    public JsonResult() {

    }
    public JsonResult(int code,String msg){
        this.code=code;
        this.msg=msg;
    }
    public JsonResult(int code,T data){
        this.code=code;
        this.data=data;
    }
    public JsonResult(int code,String msg,T data){
        this.code=code;
        this.msg=msg;
        this.data=data;
    }

    public int getCode() {
        return code;
    }
    public void setCode(int code) {
        this.code = code;
    }
    public String getMsg() {
        return msg;
    }
    public void setMsg(String msg) {
        this.msg = msg;
    }
    public T getData() {
        return data;
    }
    public void setData(T data) {
        this.data = data;
    }

}

原文出处:/show_1IXWwyKHzfJ.html