开发者社区> 问答> 正文

关于ObjectNode的序列化问题

关于ObjectNode的序列化问题

之前一直是用fastjson1.0做序列化,因为今天项目引入了一个工作流demo,然后发现它的返回格式是ObjectNode,结果序列化后得到的不是一个json串,而是一个字符串,看了下1.0的代码,是对ObjectNode直接转成了String,这个问题我看之前也有人提过。

提问26.png

然后我将fastjson升级到2.0,然后做了以下配置

提问27.png

提问28.png

结果最后报了栈溢出

提问29.png

请问有没有比较好的解决方案?

原提问者GitHub用户memoryTravel

展开
收起
后端老大 2023-04-21 11:07:37 221 0
2 条回答
写回答
取消 提交回答
  • 问题已修复,请帮忙用2.0.19-SNAPSHOT验证 https://oss.sonatype.org/content/repositories/snapshots/com/alibaba/fastjson2/fastjson2/2.0.19-SNAPSHOT/

    https://github.com/alibaba/fastjson2/releases/tag/2.0.19 请用新版本

    原回答者GitHub用户wenshao

    2023-04-21 14:08:41
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    可以尝试使用fastjson的版本2.0及以上,这些版本支持将ObjectNode序列化成JSON字符串。具体实现可以参考以下代码示例:

    ObjectMapper mapper = new ObjectMapper(); //实例化一个ObjectMapper对象 ObjectNode objectNode = mapper.createObjectNode(); //创建一个ObjectNode对象 objectNode.put("name", "Jack"); //设置ObjectNode的属性 objectNode.put("age", 20); String jsonStr = mapper.writeValueAsString(objectNode); //将ObjectNode序列化为JSON字符串 System.out.println(jsonStr); //输出序列化后的JSON字符串 以上代码会将一个包含两个属性的ObjectNode对象序列化为JSON字符串,输出结果为:

    {"name":"Jack","age":20} 可以看到,ObjectNode对象已经成功被序列化成了JSON字符串。

    2023-04-21 12:02:15
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载