[英]Gson.fromJson() throws StackOverflowError
我们有这个杰森:
{
"id": 500,
"field1": "TESTE",
"banco": {
"id": 300,
"descricao": "BANCO_TESTE"
},
"categorias": [
{
"id": 300,
"descricao": "PT",
"publica": true
}
]
}
还有我的豆子:
public class Asking implements Serializable {
private long id;
private String field1;
private Bank bank;
private List<Categoria> categorias;
//[getters and setters]
}
豆银行和Categoria:
public class Bank implements Serializable {
private Long code;
private Long id;
private String descricao;
//getters and setters
}
public class Categoria implements Serializable {
private Long code;
private Long id;
private String descricao;
private boolean marcada;
private boolean publica;
//getters and setters
}
当我打电话时:
gson.fromJson(strJson, tokenType);
错误出现:
Method threw 'java.lang.StackOverflowError' exception.
怎么了?
我无法重现此问题。 这里有两件事之一是错误的:
Asking
实例的字段 Asking
实例,然后将其传递到新类的构造函数中。 您使用gson.fromJson
方法的设置正在做意外的gson.fromJson
。 这是我正在使用的,效果很好:
public static void parseJSON(String jsonString) { Gson gsonParser = new Gson(); Type collectionType = new TypeToken<Asking>(){}.getType(); Asking gsonResponse = gsonParser.fromJson(jsonString, collectionType); System.out.println(gsonResponse); }
请检查您的bean类定义中是否包含其他字段,否则,请尝试使反序列化与我的反序列化匹配。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.