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;
}
...