日期:2014-05-20  浏览次数:20689 次

Json继承的序列化与反序列化
我用的Gson, 发现序列化与反序列化有继承的类会出错,代码如下

public abstract class Mammal {
    private String name;
    
    public void setName(String name){
        this.name = name;
    }
    
    public String getName(){
        return name;
    }
}


public class Dog extends Mammal{
    
    public void bark(){
        
    }
}



public class Cat extends Mammal{
    
    public void mew(){
        
    }
}



public class Main {
    public static void main(String[] args) {
        Gson gson = new Gson();
        Mammal dog = new Dog();
        String toGson = gson.toJson(dog);
        Mammal aDog = gson.fromJson(toGson, Mammal.class);
    }
}


这里我想的是Gson把String转化成class时候不知道到底是Dog还是Cat,错误如下:


请问如何解决?
java json 继承

------解决方案--------------------
引用:
我用的Gson, 发现序列化与反序列化有继承的类会出错,代码如下

public abstract class Mammal {
    private String name;
    
    public void setName(String name){
        this.name = name;