2017-11-28 4 views
1

次のJsonファイルとJavaCodeを使用しています。私はJSONファイルを解析することができたいと思いますが、そうすることはできません。私は初めてJSONを扱っています。javaのsimple.jsonが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(); 
 
     } 
 
    } 
 
}

にErrorMessageがある:スレッド "メイン" とjava.lang.ClassCastExceptionで 例外:org.json.simple.JSONArrayはorg.json.simpleにキャストすることはできません。 JSONObject

解決できません。助けに恵まれています。あなたがJSONArrayにないJSONObject

+1

によってオブジェクト1を引き出すことができます。org.json.simple.JSONArrayはorg.json.simple.JSONObject にキャストすることはできません代わりにJSONArrayに変換してみてください。 – ricardofagodoy

答えて

0

あなたのJSONオブジェクトは、配列です。

あなたはJSONArrayにキャストする必要があり、その後、あなたはあなたの問題はかなり明確である1

0

あなたのobjはあなたがJSONObjectにキャストすることはできませんので、複数のJSONObjectsを含むJSONArrayあるにキャストする必要がありますので

関連する問題