让我们假设我有一个类型的Java类:
public class MyClass
{
public String par1;
public Object par2;
}
Run Code Online (Sandbox Code Playgroud)
然后我有这个:
String json = "{"par1":"val1","par2":{"subpar1":"subval1"}}";
Gson gson = new GsonBuilder.create();
MyClass mClass = gson.fromJson(json, MyClass.class);
Run Code Online (Sandbox Code Playgroud)
该par2
JSON是从其他应用程序给我,我永远不知道什么是它的参数名称,因为它们是动态的.
我的问题是,par2
MyClass上应该设置哪个Class类型变量,以便将JSON String变量正确反序列化为我的类对象?
谢谢
查看GSON用户指南中的序列化和反序列化通用类型:
public class MyClass<T>
{
public String par1;
public T par2;
}
Run Code Online (Sandbox Code Playgroud)
要反序列化它:
Type fooType = new TypeToken<Myclass<Foo>>() {}.getType();
gson.fromJson(json, fooType);
Run Code Online (Sandbox Code Playgroud)
希望这有帮助.
归档时间: |
|
查看次数: |
12009 次 |
最近记录: |