2017-11-28 3 views
1

Im mit der folgenden JSON-Datei und JavaCode. Ich möchte in der Lage sein, die JSON-Datei analysieren, aber nicht tun. Ich arbeite zum ersten Mal mit JSON.simple.json in Java nicht drucken JsonObject

[ 
    { 
     "1": "5.645751953125E-3", 
     "2": "5.79833984375E-3", 
     "3": "4.57763671875E-3", 
     "fp": "t1" 
    }, 
    { 
     "1": "0.575408935546875", 
     "2": "0.3570556640625", 
     "3": "0.2325439453125", 
     "fp": "t2" 
    }, 
    { 
     "fp": "" 
    } 
] 

import org.json.simple.JSONObject; 
 
import org.json.simple.JSONArray; 
 
import org.json.simple.parser.JSONParser; 
 
import org.json.simple.parser.ParseException; 
 

 
import java.io.FileNotFoundException; 
 
import java.io.FileReader; 
 
import java.io.IOException; 
 

 
public class SCR { 
 

 
    public static void main(String[] args) { 
 

 
     JSONParser parser = new JSONParser(); 
 

 
     try 
 
     { 
 

 
      Object obj = parser.parse(new FileReader("C:\\Users\\Desktop\\2003log.json")); 
 

 
      JSONObject jsonObject = (JSONObject) obj; 
 
      System.out.println(jsonObject); 
 

 
      String name = (String) jsonObject.get("fp"); 
 
      System.out.println(name); 
 

 
     } catch (FileNotFoundException e) { 
 
      e.printStackTrace(); 
 
     } catch (IOException e) { 
 
      e.printStackTrace(); 
 
     } 
 
    } 
 
}

Der Errormessage ist: Exception in thread "main" java.lang.ClassCastException: org.json.simple.JSONArray kann nicht auf org.json.simple gegossen werden. JSONObject

Ich kann das nicht lösen. Sehr dankbar für Hilfe.

+1

Ihr Problem herausziehen ist ziemlich klar: org.json.simple.JSONArray kann nicht auf org.json.simple.JSONObject gegossen werden Versuchen Sie stattdessen, zu JSONArray zu konvertieren. – ricardofagodoy

Antwort

0

Ihr JSON-Objekt ist ein Array, so sollten Sie es auf JSONArray werfen nicht zu JSONObject

0

Ihre obj ist ein JSONArray mit mehreren JSONObjects, so dass Sie es nicht zu JSONObject werfen können.

Sie sollten es JSONArray gegossen und dann können Sie die Objekte nacheinander