Json 从一个对象到另一个对象
我正在尝试用一个通用对象对映射进行json转换。 假设您有以下示例:Json 从一个对象到另一个对象,json,object,gson,Json,Object,Gson,我正在尝试用一个通用对象对映射进行json转换。 假设您有以下示例: class MyClass1 { String v1; Boolean v2; } class MyClass2 { Integer v3; String v4; } class MyContainer { Map<String, Object>lst; MyContainer() { lst = new HashMap<String, Ob
class MyClass1
{
String v1;
Boolean v2;
}
class MyClass2
{
Integer v3;
String v4;
}
class MyContainer
{
Map<String, Object>lst;
MyContainer() {
lst = new HashMap<String, Object>();
}
}
public main() {
MyContainer c1, c2;
Gson g = new Gson();
c1 = new MyContainer();
MyClass1 my1 = new MyClass1();
MyClass2 my2 = new MyClass2();
my1.v1 = "v1";
my1.v2 = true;
my2.v3 = 10;
my2.v4="v4";
c1.lst.put("MyClass1", my1);
c1.lst.put("MyClass2", my2);
String json = g.toJson(c1);
c2 = g.fromJson(json, MyContainer.class);
当我使用g.ToJson时,我得到了很好的json结果,但是当我调用g.fromJson时,它显然不能很好地转换,因为它无法理解为了映射输入json必须使用哪个类。
实际上,c2.lst.getMyClass1不返回MyClass1的实例,而是返回com.google.gson.internal.StringMap