如何将此JSON解析为java对象?

如何将此JSON解析为java对象?,java,json,parsing,gson,Java,Json,Parsing,Gson,大家好,我一直在尝试将上面的JSON解析成一个java程序,并将其存储到一个对象中。。。(目前没有特定的结构,只要我可以从对象获取数据。) 我一直在尝试使用GSON,但似乎无法正确使用 String inputLine=""; HttpClient httpclient= new DefaultHttpClient(); HttpGet method = new HttpGet("http://localhost:3000/specs/215/errors.js"

大家好,我一直在尝试将上面的JSON解析成一个java程序,并将其存储到一个对象中。。。(目前没有特定的结构,只要我可以从对象获取数据。)

我一直在尝试使用GSON,但似乎无法正确使用

        String inputLine="";
    HttpClient httpclient= new DefaultHttpClient();
    HttpGet method = new HttpGet("http://localhost:3000/specs/215/errors.js");
    HttpResponse response =httpclient.execute(method);
    BufferedReader in = new BufferedReader(
            new InputStreamReader(
                    response.getEntity().getContent()));

    inputLine = in.readLine();
    System.out.println(inputLine);
    in.close();
    Gson gson = new Gson();
    JsonParser parser = new JsonParser();
    JsonArray array = parser.parse(inputLine).getAsJsonArray();

    for(int i=0; i < array.size(); i++) {

        Errors e = gson.fromJson(array.get(0), Errors.class);
        System.out.println(e.error.getReason());
    }
有人请给我指一下正确的方向吗?
谢谢。

JSON字符串不是JSON数组字符串。JSON字符串分别以
{
}
开头和结尾,而JSON数组分别以
[
]
开头和结尾

这一行是错误的:

JsonArray array = parser.parse(inputLine).getAsJsonArray();

而是将其作为
JsonObject

检索,JSON字符串不是JSON数组字符串。JSON字符串分别以
{
}
开头和结尾,而JSON数组分别以
[
]
开头和结尾

这一行是错误的:

JsonArray array = parser.parse(inputLine).getAsJsonArray();

JSON结构是作为对象、记录、结构、字典、哈希表、键控列表或关联数组实现的

您可以使用eval()函数来实现所需的目标。
我认为这将有助于将JSON结构实现为对象、记录、结构、字典、哈希表、键控列表或关联数组

您可以使用eval()函数来实现所需的目标。
我想这会对你有所帮助/

我已经解决了这个问题。新手在序列化注释中犯了错误。出于某种原因,我认为他们会引用类名而不是字段名。但更重要的是,我还必须创建一个根级别的容器类来保存我的类。这允许解析所有对象

我解决了我的问题。新手在序列化注释中犯了错误。出于某种原因,我认为他们会引用类名而不是字段名。但更重要的是,我还必须创建一个根级别的容器类来保存我的类。这允许解析所有对象

(假设JSON实际上都在一行上。)它不是一个数组,它是一个包含“错误”数组和“警告”数组的对象。(假设JSON实际上都在一行上。)它不是一个数组,它是一个包含“错误”数组和“警告”数组的对象。太好了-谢谢!首先将其作为jsonobject获取,然后将其作为数组进行配对。JsonObject jso=parser.parse(inputLine.getAsJsonObject();JsonArray数组=parser.parse(jso.get(“warnings”).toString()).getAsJsonArray();太好了-谢谢!首先将其作为jsonobject获取,然后将其作为数组进行配对。JsonObject jso=parser.parse(inputLine.getAsJsonObject();JsonArray数组=parser.parse(jso.get(“warnings”).toString()).getAsJsonArray();