中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);
    }


相关文章
【Layui】子页面向父级页面传递参数
【Layui】子页面向父级页面传递参数
1356 0
【Layui】子页面向父级页面传递参数
|
监控 Java 应用服务中间件
jdk自带监控程序-jvisualvm使用介绍
jdk自带监控程序-jvisualvm使用介绍
609 0
|
SQL 消息中间件 存储
PostgreSQL CDC的最佳实践
PostgreSQL CDC的最佳实践
PostgreSQL CDC的最佳实践
|
Python
Python 将PowerPoint (PPT/PPTX) 转为HTML
使用Python将PowerPoint转换为HTML以适应网络分享。需安装`Spire.Presentation for Python`库,通过`pip install Spire.Presentation`。示例包括:1) 全部转换,使用`Presentation.SaveToFile()`方法;2) 转换特定幻灯片,通过`Presentation.Slides[]`获取幻灯片再保存。代码示例展示了具体操作步骤。
614 6
|
存储 缓存 NoSQL
希音面试:亿级用户 日活 月活,如何统计?(史上最强 HyperLogLog 解读)
本文详细介绍了如何使用Redis的各种数据结构(如Set、Bitmap、HyperLogLog)来统计网站的日活(DAU)和月活(MAU)用户数。作者通过实际案例和代码示例,系统地讲解了这些数据结构的原理和应用场景,特别是HyperLogLog在处理亿级用户数据时的优势。文章还深入解析了HyperLogLog的数学原理和底层数据结构,帮助读者更好地理解和应用这一高效的数据统计工具。此外,文章还提供了多个相关面试题和参考资料,适合准备面试的技术人员阅读。
|
存储 消息中间件 NoSQL
两万字长文让你彻底掌握 celery
两万字长文让你彻底掌握 celery
5993 3
|
JSON 数据格式
ObjectMapper中writeValue和writeValueAsString的区别
ObjectMapper中writeValue和writeValueAsString的区别
|
Cloud Native 开发工具 存储
OpenTelemetry-可观察性的新时代
Ops领域两个网红项目OpenTracing和OpenCensus终于走到了一起,可观察性统一的标准化已经扬帆起航。这篇文章旨在抛砖引玉,希望能够和更多的同学一起交流可观察性相关的内容。
8633 0
|
XML Java 数据库连接
Mybatis中使用xml进行增删改查实践
Mybatis中使用xml进行增删改查实践
265 0
|
算法 Java Windows
Guava-RateLimiter详解
常用的限流算法有漏桶算法和令牌桶算法,guava的RateLimiter使用的是令牌桶算法,也就是以固定的频率向桶中放入令牌,例如一秒钟10枚令牌,实际业务在每次响应请求之前都从桶中获取令牌,只有取到令牌的请求才会被成功响应,获取的方式有两种:阻塞等待令牌或者取不到立即返回失败,下图来自网上: ratelimite原理图 本次实战,我们用的是guava的RateLimiter,场景是spring mvc在处理请求时候,从桶中申请令牌,申请到了就成功响应,申请不到时直接返回失败。
3268 0