0
我发现了很多这个异常的答案,但coudl'n找不到一个帮助我的情况。
我想使用GSON来解析JSON。这里是我的代码:
public <T> T getObject(String[] caminho, String[] parametros, Class<T> tipoRetorno) {
T resultado = null;
WebResource webResource = getWebResource(caminho, parametros);
ClientResponse response = getBuilder(webResource).get(ClientResponse.class);
if (response.getStatus() == Status.OK.getStatusCode()) {
JSONObject json = null;
try {
json = new JSONObject(response.getEntity(String.class));
} catch (ClientHandlerException | UniformInterfaceException | JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
resultado = new Gson().fromJson(json.toString(), tipoRetorno);
} else if (response.getStatus() == Status.NO_CONTENT.getStatusCode()) {
String msg = "Getting cross-connections. URI: " + webResource.getURI() + " status: " + response.getStatus()
+ " " + response.getStatusInfo();
logger.info(msg);
} else {
String msg = "Error getting cross-connections. URI: " + webResource.getURI() + " returned error : "
+ response.getStatus() + " status: " + response.getStatusInfo();
logger.info(msg);
}
return resultado;
}
这里的JSON从 'JSON' 返回:
{"data":[{"thumbs":[{"id":79204454,"updated_at":"2016-12-24T19:54:48.000Z","created_at":"2016-12-24T19:54:48.000Z","filename":"54857bd6-0ccc-48d2-b5c8-8c4483954789_1482608998509","test_case_id":8172839,"url":"https://s3-eu-west-1.amazonaws.com/euthumbtestingbot/54857bd6-0ccc-48d2-b5c8-8c4483954789_1482608998509.jpg","custom":false},{"id":79204455,"updated_at":"2016-12-24T19:54:48.000Z","created_at":"2016-12-24T19:54:48.000Z","filename":"54857bd6-0ccc-48d2-b5c8-8c4483954789_1482609000499","test_case_id":8172839,"url":"https://s3-eu-west-1.amazonaws.com/euthumbtestingbot/54857bd6-0ccc-48d2-b5c8-8c4483954789_1482609000499.jpg","custom":false},{"id":79204456,"updated_at":"2016-12-24T19:54:48.000Z","created_at":"2016-12-24T19:54:48.000Z","filename":"54857bd6-0ccc-48d2-b5c8-8c4483954789_1482609001762","test_case_id":8172839,"url":"https://s3-eu-west-1.amazonaws.com/euthumbtestingbot/54857bd6-0ccc-48d2-b5c8-8c4483954789_1482609001762.jpg","custom":false}...}
而 'tipoRetorno' 是类br.usp.icmc.testingbot.beans.AgrupamentoTestes:
package br.usp.icmc.testingbot.beans;
import java.util.List;
public class AgrupamentoTestes {
private List<Teste> data;
private Meta meta;
public List<Teste> getData() {
return data;
}
public void setData(List<Teste> data) {
this.data = data;
}
public Meta getMeta() {
return meta;
}
public void setMeta(Meta meta) {
this.meta = meta;
}
}
我得到这个异常:
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected a string but was BEGIN_OBJECT at line 1 column 18101 path $.data[0].groups[0]
为什么Gson不能正确地将我的JSON文本转换为我的POJO类型?
你好,丹,我用'......'的标志不要太长。 – ricardoramos
我得到了用于调试eclipse的JSON以及调试缩写JSON以及 – ricardoramos