0
私は2つのオブジェクトを持っているとしましょう:PersonとReqSingUp、ReqSingUpにPersonが含まれています。今jsonがどのタイプのものであるかを知る方法はありますか?
私がしようとした場合:
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 ReqSingUp
なくinstanceof Person
)を満たしていません。
どのタイプがそれを知る方法はありますか?
ありがとうございます。
いいえ私は方法があるとは思わない。 1つの回避策は、オブジェクトの種類を表すjsonタグを使用することです。 – kosa
ガイドを見ましたか?これは役立つ可能性があります:https://sites.google.com/site/gson/gson-user-guide#TOC-Serializing-and-Deserializing-Collection-with-Objects-of-Arbitrary-Type – TJR
これはバリエーションではありませんこの質問の? http://stackoverflow.com/questions/3629596/deserializing-an-abstract-class-in-gson –