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

我正在尝试用一个通用对象对映射进行json转换。 假设您有以下示例:

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