中writeValue和writeValueAsString的区别

简介: writeValueAsString(obj):将传入的对象序列化为json,返回给调用者

格式对比:


writeValue(参数,obj):直接将传入的对象序列化为json,并且返回给客户端

writeValueAsString(obj):将传入的对象序列化为json,返回给调用者


共性:


将将对象转为json字符串


不同:


writeValue(参数,obj):


参数有四种重载形式


第一种:file 将转换后的json字符串保存到指定的file文件中

第二种:writer 将转换后的json字符串保存到字符输出流中

第二种:outputStream将转换后的json字符串保存到字节输出流中

第四种:jsonGenerator类(不常用,不作介绍


除此之外可以将代码封装


    /**
     * 直接将传入的对象序列化为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
     * @return
     */
    public String writeValueAsString(Object obj) throws JsonProcessingException {
        ObjectMapper mapper = new ObjectMapper();
        return mapper.writeValueAsString(obj);
    }


相关文章
|
24天前
知识和智慧的联系和区别
知识和智慧的联系和区别
18 0
|
2月前
a++与++a的区别
a++与++a的区别。
16 4
|
3月前
|
SQL 安全 Java
myabtis中#{} 和 ${} 的区别是什么
myabtis中#{} 和 ${} 的区别是什么
|
8月前
|
索引
for each和for of的区别
for each和for of的区别
|
9月前
|
存储
逻辑移位与算术移位的区别
用一句简单的话来说就是:逻辑移位不需要考虑符号位,算术移位需要考虑符号位,我们都知道。数在计算机中都是以补码的形式来存储的,这才造成了逻辑移位和算术移位的的差别。
196 0
|
安全
s=s+1,s+=1,++1,1++没有区别?
s=s+1,s+=1,++1,1++没有区别?
|
存储 前端开发 Java
@SessionAttributes 和 @SessionAttribute的区别
@SessionAttributes 和 @SessionAttribute的区别
<T>和<?>区别
简要讲述一下<T>和<?>区别,以及<T>的用法
<T>和<?>区别
|
Web App开发 安全
C/S 与 B/S 的区别
1.硬件环境不同:   C/S 一般建立在专用的网络上, 小范围里的网络环境, 局域网之间再通过专门server提供连接和数据交换服务.   B/S 建立在广域网之上的, 不必是专门的网络硬件环境,例与电话上网, 租用设备.
1093 0
|
JavaScript 前端开发