关于fastjson与fastjson2中parseObject操作的区别

关于fastjson与fastjson2中parseObject操作的区别

  • 一、场景
  • 二、 区别
    • 1、前置条件
    • 2、对比
      • 1. fastjson
      • 2. fastjson2
  • 三、解决方案

一、场景

在Java中会有将json转为实体类的需求,其中fastjson是一个常用的选择,今天在升级项目依赖的过程中,将fastjson从 1 升级到 2 ,出现了转换后值不对的问题,排查到原因后特此记录。

二、 区别

1、前置条件

实体类属性是字符串类型

class Info {
    private String wxPhones;
}

被准换的json属性对应的值以中括号包围

{"wxPhones":["15000000000"]}

2、对比

1. fastjson

可以完整的将该字段赋值
关于fastjson与fastjson2中parseObject操作的区别_第1张图片

2. fastjson2

会丢失掉中括号
关于fastjson与fastjson2中parseObject操作的区别_第2张图片

三、解决方案

其他字段正常转换,该字段在转换后额外使用set,从json里取一下原始值。

吐槽:有点坑

你可能感兴趣的:(java,json)