2012-03-30 15 views
0

JSON INPUT (Ich habe es ausschneiden und einfügen, so dass es einige Fehler in Klammern geben kann).Parsing json werfende Nullobjekt

{"results":{"quote":[{"date":"2010-03-10","Date":"2010-03-10","Open":"16.51","High":"16.94","Low":"16.51","Close":"16.79","Volume":"33088600","Adj_Close":"16.79"}, 
{"date":"2010-03-09","Date":"2010-03-09","Open":"16.41","High":"16.72","Low":"16.40","Close":"16.53","Volume":"20755200","Adj_Close":"16.53"}, 
{"date":"2010-03-08","Date":"2010-03-08","Open":"16.32","High":"16.61","Low":"16.30","Close":"16.52","Volume":"30554000","Adj_Close":"16.52"}, 
{"date":"2010-03-05","Date":"2010-03-05","Open":"15.89","High":"16.38","Low":"15.89","Close":"16.06","Volume":"21415000","Adj_Close":"16.06"}, 
{"date":"2010-03-04","Date":"2010-03-04","Open":"15.55","High":"15.85","Low":"15.52","Close":"15.81","Volume":"22906000","Adj_Close":"}]} 

Java-Code

System.out.println(inputLine1); 
      JSONObject json = (JSONObject) JSONSerializer.toJSON(inputLine1); 
      JSONObject pilot = json.getJSONObject("results");   

      JSONArray jsonMainArr = pilot.getJSONArray("quote"); 

      for (int i = 0; i < jsonMainArr.size(); i++) 
      { // **line 2** 
       JSONObject childJSONObject = jsonMainArr.getJSONObject(i); 
       String date = childJSONObject.getString("date"); 
       String Date=childJSONObject.getString("Date"); 
       String Open=childJSONObject.getString("Open"); 
       String Close=childJSONObject.getString("Close"); 
       String High=childJSONObject.getString("High"); 
       String low=childJSONObject.getString("Low"); 
       String Volume=childJSONObject.getString("Volume"); 
       String Adj_close=childJSONObject.getString("Adj_Close"); 

       System.out.println(date); 
       System.out.println(Open); 


      } 

Er sagt, ein Null-Objekt. Was mache ich falsch.

+0

1) Was die Ausnahme genau ist, die Linie 2) Achten Sie darauf, Ihr json Eingang gut ausgebildet ist – I82Much

+0

Sie haben ‚"‘am Ende Ihres JSON-String fehlen, bitte das korrigieren. – Subodh

+0

Ja, das JSON ungültig ist. Versuchen Sie es in jsonlint.com einfügen und stellen Sie sicher, es überprüft.Ich habe es geändert, um es gültig zu machen - http://pastebin.com/W9rkAi7k – I82Much

Antwort

0

Der JSON ist nicht richtig. Die letzten " ist nicht geschlossen:

{"results":{"quote":[..., {..., "Adj_Close":"}]} 

Dies würde dazu führen, dass es unmöglich ist, den Wert für quote, so dass die Bibliothek kehrt null zu analysieren, wenn Sie ein Array erwarten.

+0

Es sagt immer noch Null-Objekt – user1092042