如何将此JSON解析为java对象?
大家好,我一直在尝试将上面的JSON解析成一个java程序,并将其存储到一个对象中。。。(目前没有特定的结构,只要我可以从对象获取数据。) 我一直在尝试使用GSON,但似乎无法正确使用如何将此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"
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();