java - 使用 json-lib 转换为 java 会抛出 ClassCastException

标签 java json json-lib

我正在使用json-lib将 json 对象转换为 java。 代码如下:

public class JsonConvertorDemo {

    public static void main(String[] args) {
        B b1 = new B("b1");
        Map<String, B> bMap = new HashMap<String, B>();
        bMap.put("key1", b1);
        A a1 = new A(bMap);

        JSONObject jsonObject = JSONObject.fromObject(a1);
        String json = jsonObject.toString();
        jsonObject = JSONObject.fromObject(json);

        Map<String, Class> classMap = new HashMap<String, Class>();
        classMap.put("bMap", Map.class);
        a1 = (A) JSONObject.toBean(jsonObject, A.class, classMap);

        bMap = a1.getbMap();
        System.out.println(bMap.get("key1").getB1());
    }
}

public class A {
    private Map<String, B> bMap = new HashMap<String, B>();
    public A() {}
    public A(Map<String, B> bMap) {
        this.bMap = bMap;
    }
    public Map<String, B> getbMap() {
        return bMap;
    }
    public void setbMap(Map<String, B> bMap) {
        this.bMap = bMap;
    }
}

public class B {
    private String b1;
    public B() {}
    public B(String b1) {
        this.b1 = b1;
    }
    public String getB1() {
        return b1;
    }
    public void setB1(String b1) {
        this.b1 = b1;
    }
}

它抛出以下异常:

Exception in thread "main" java.lang.ClassCastException:
net.sf.ezmorph.bean.MorphDynaBean cannot be cast to code.orgexample.json.B
at code.orgexample.json.JsonConvertorDemo.main(JsonConvertorDemo.java:30)

有没有办法在 json-lib 中指定 map 值的类类型?

非常感谢您的帮助。

最佳答案

上面写着here fromObject 接受 JSON 格式的字符串、Maps、DynaBeans 和 JavaBeans

关于java - 使用 json-lib 转换为 java 会抛出 ClassCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6000370/

相关文章:

java - 登录按钮和服务器端身份验证

java - 如何启用执行器中的所有端点(Spring Boot 2.0.0 RC1)

asp.net-mvc - VB.NET 将查询字符串解析为数组

ios - Watson 助理和 Swift

java - 如何使用 net.sf.json.JSONObject 库将多个 JSON 实例放入单个 JSON 对象中

java - 基本的 JSON-lib 示例

java - 在java中查找对象集合中的频率

java - Wildfly 中 REST 响应的 GZip 压缩

php - 为什么我的 JSON 数组查询不起作用?

java - Xml 到 Json 到 xml 可逆转换 json-lib