fastjson JSONObject.parseObject 转换异常

226 阅读1分钟
package com.example.demo;

import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
public class Test {

    public static void main(String[] args) {
        
        // fastjson
        // Obj.data类型为com.alibaba.fastjson.JSONObject报错, 类型为cn.hutool.json.JSONObject正常
        Obj obj = JSONObject.parseObject("{"code":200,"msg":null,"data":null}", Obj.class);
        
        // hutools
        // 均正常
        // Obj obj = JSONUtil.toBean("{"code":200,"msg":null,"data":null}", Obj.class);
        System.out.println(ObjectUtil.toString(obj));
    }
}

@Data
@AllArgsConstructor
@NoArgsConstructor
class Obj {

    int code;

    String msg;

    cn.hutool.json.JSONObject data;
}