Serialization Gson:通过内部对象列表从JSON到java对象的序列化

Serialization Gson:通过内部对象列表从JSON到java对象的序列化,serialization,Serialization,我有: public class RequisicionImpresion { private List<Files> archivos; private String impresora; ... // getter & setters } public class FileDto { private String lote; private Long idDoc; private String nombre; private Str

我有:

public class RequisicionImpresion {


private List<Files> archivos;

private String impresora;

... // getter & setters

}


    public class FileDto {

private String  lote;

private Long    idDoc;

private String  nombre;

private String  ruta;

//Getter & setters

}
我需要用填充值序列化get object RequisitionImpression。我不知道如何导航元素'archivos',也不知道如何获取其他元素

我已完成以下工作:

nuevaRequsicionImpresion = jsonUtil.convertJsonToObject(json);
其中:

JsonUtil.java 

...
public final T convertJsonToObject(final String json) {
        T valor = null;

        if (json != null) {
            Gson gson = new Gson();

            valor = (T) gson.fromJson(json, new TypeToken<T>() {
            } .getType());
        }

        return valor;
    }

...
JsonUtil.java
...
公共最终T convertJsonToObject(最终字符串json){
T valor=null;
if(json!=null){
Gson Gson=新的Gson();
valor=(T)gson.fromJson(json,newTypeToken(){
}.getType());
}
回报勇气;
}
...
但是我得到了一个例外:


java.lang.ClassCastException:com.google.gson.internal.StringMap在我的实用程序类JSONU中无法强制转换为java.io.Serializable

...
@SuppressWarnings("unchecked")
    public final T convertJsonToObject(final String json, final T clase) {
        T valor = null;

        if (json != null) {
            Gson gson = new Gson();
            valor = (T) gson.fromJson(json, clase.getClass());
        }

        return valor;
    }

...
...
@SuppressWarnings("unchecked")
    public final T convertJsonToObject(final String json, final T clase) {
        T valor = null;

        if (json != null) {
            Gson gson = new Gson();
            valor = (T) gson.fromJson(json, clase.getClass());
        }

        return valor;
    }

...