2014-02-13 102 views
0

我试图在我的Java应用程序中使用gson 反序列化JSON对象。Gson动态类型

但是,我不知道如何动态应用类的类型。

我已在类名的String

User user = gson.fromJson(userJSON, User.class); 

怎样才能把我作为String myClass类的类型?

回答

0

我相信建议在以前的答案是完全确定。只是为了避免所有的困惑和使它更明显,这里是全码:

MyClass [name=Dharam]

0
Class<?> cls = Class.forName(className); 

但是,你的类名应该是完全限定 - 即com.mycompany.MyClass

+0

这是给了我这个错误:HTTP:// S28从上面的代码

package com.test; import com.google.gson.Gson; import com.google.gson.JsonSyntaxException; public class TestGSON { public static void main(String[] args) { Gson gson = new Gson(); try{ Object fromJson = gson.fromJson("{\"name\":\"Dharam\"}", Class.forName("com.test.MyClass")); if(fromJson instanceof MyClass){ System.out.println(fromJson); } } catch (JsonSyntaxException | ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } class MyClass { private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "MyClass [name=" + name + "]"; } } 

输出.postimg.org/91bjw53wd/Sk_rmbillede_2014_02_13_kl_18_24_17.png –

+0

可以显示您的电话吗?班级名称和班级? –