gpt4 book ai didi

java - 有没有办法知道json代表的是哪种类型?

转载 作者:行者123 更新时间:2023-12-02 07:49:35 25 4
gpt4 key购买 nike

假设我有两个对象:Person 和 ReqSingUp,并且 ReqSingUp 包含 Person。

现在如果我尝试:

Person p=new Person("dan","lala");
ReqSingUp reqSingUp=new ReqSingUp(p);
String s = gson.toJson(reqSingUp,ReqSingUp.class);
Object o = gson.fromJson(s, Object.class);

if (o instanceof ReqSingUp) {
System.out.println("it's ReqSingUp");
}
if (o instanceof Person ) {
System.out.println("it's person");
}

它不满足任何条件(不满足 instanceof ReqSingUpinstanceof Person )。

有办法知道它是什么类型吗?

提前致谢。

最佳答案

不,没有办法直接知道它。

这是因为 JSon 文件中包含的信息不直接包含有关其中序列化的对象的任何类型信息。这就是为什么您通常在读取 JSon 文件时提供该类,如下所示

fromJSon(myObject, MyClass.class)

即使在读取任意类型或泛型对象的集合时,这确实会产生问题。

关于java - 有没有办法知道json代表的是哪种类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10389223/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com