问题描述
简要描述您碰到的问题。
使用兼容1.x进行javabean转换时出现不是预期的
com.alibaba.fastjson.JSONObject
而是变成com.alibaba.fastjson2.JSONObject
请看代码例子
环境信息
请填写以下信息:
- OS信息:
- JDK信息: jdk17
- 版本信息:Fastjson2.0.51
重现步骤
如何操作可以重现该问题:
- 使用
xxx.xxx 方法
- 输入
... 数据
- 出现
... 错误
package com.efuture.ocp.common;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
public class JsonToBean {
public static void main(String[] args) {
String jsonStr = "{\r\n"
+ " \"id\":\"01\",\r\n"
+ " \"data\":{\r\n"
+ " \"key\":\"test\"\r\n"
+ " }\r\n"
+ "}";
JSONObject json = JSON.parseObject(jsonStr);
Bean bean = JSON.toJavaObject(json, Bean.class);
JSONObject o = (JSONObject)bean.getData();
}
class Bean {
private String id;
private Object data;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
}
}
期待的正确结果
对您期望发生的结果进行清晰简洁的描述。
期望的data应该解释成com.alibaba.fastjson.JSONObject
相关日志输出
请复制并粘贴任何相关的日志输出。
Exception in thread "main" java.lang.ClassCastException: class com.alibaba.fastjson2.JSONObject cannot be cast to class com.alibaba.fastjson.JSONObject (com.alibaba.fastjson2.JSONObject and com.alibaba.fastjson.JSONObject are in unnamed module of loader 'app')
at com.efuture.ocp.common.JsonToBean.main(JsonToBean.java:17)
附加信息
如果你还有其他需要提供的信息,可以在这里填写(可以提供截图、视频等)。