Десериализация интерфейса с помощью Gson?

Я пытаюсь использовать Gson с интерфейсом:

public interface Photo {
    public int getWidth();
}

public class DinosaurPhoto implements Photo {
   ...
}

public class Wrapper {
    private Photo mPhoto; // <- problematic
}

... 

Wrapper wrapper = new Wrapper();
wrapper.setPhoto(new DinosaurPhoto());
Gson gson = new Gson();
String raw = gson.toJson(wrapper);  

// Throws an error since "Photo" can't be deserialized as expected.
Wrapper deserialized = gson.fromJson(raw, Wrapper.class);

Поскольку в классе Wrapper есть переменная-член типа Photo, как мне ее десериализовать с помощью Gson?

Спасибо

9
задан user291701 30 June 2012 в 15:07
поделиться