Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java com.google.gson.JsonSyntaxException:应为字符串,但在第1行第18101列路径$.data[0]处为BEGIN_对象。组[0]_Java_Json_Gson - Fatal编程技术网

Java com.google.gson.JsonSyntaxException:应为字符串,但在第1行第18101列路径$.data[0]处为BEGIN_对象。组[0]

Java com.google.gson.JsonSyntaxException:应为字符串,但在第1行第18101列路径$.data[0]处为BEGIN_对象。组[0],java,json,gson,Java,Json,Gson,我已经为这个例外找到了很多答案,但找不到一个对我的案例有帮助的答案 我正在尝试使用GSON解析JSON。这是我的密码: public <T> T getObject(String[] caminho, String[] parametros, Class<T> tipoRetorno) { T resultado = null; WebResource webResource = getWebResource(caminho, parame

我已经为这个例外找到了很多答案,但找不到一个对我的案例有帮助的答案

我正在尝试使用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;
    }
“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;
    }

}

为什么Gson不能正确地将我的JSON文本转换为我的POJO类型?

如果将字符串粘贴到文本编辑器中,您将能够在底部看到行和列的编号,并在18101列中找到错误所在。

你好,丹,我使用了符号
只是为了不太长。我得到了用于调试eclipse的JSON以及调试缩写JSON
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]