2014-12-29 76 views
-4

我試圖解析用下面的代碼一個JSON文件,但是我經常收到錯誤無法將JSON文件解析爲JAVA。需要幫助

java.lang.String中不能轉換到org.json.simple.JSONArray

它指的是以下行

JSONArray listOfNames = (JSONArray) jsonObject.get("Name"); 

有什麼不對呢?有誰知道這個問題是什麼?我試過googleing和檢查出類似的帖子在stackoverflow但是我似乎無法得到它修復。

import java.io.FileNotFoundException; 
import java.io.FileReader; 
import java.io.IOException; 
import java.util.Iterator; 
import org.json.simple.JSONArray; 
import org.json.simple.JSONObject; 
import org.json.simple.parser.JSONParser; 
import org.json.simple.parser.ParseException; 

public class JSONReading { 
    public static void main(String[] args) { 
     JSONParser parser = new JSONParser(); 
     try { 
      Object obj = parser.parse(new FileReader("JSON/file.json")); 
      JSONObject jsonObject = (JSONObject) obj; 
      JSONArray listOfNames = (JSONArray) jsonObject.get("Name"); 
      Iterator<String> iterator = listOfNames.iterator(); 
      while (iterator.hasNext()) { 
       System.out.println(iterator.next()); 
      } 
     } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } catch (ParseException e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+1

什麼是JSON你試圖解析? –

+0

最後的報價可能是原因。 'Object obj = parser.parse(new FileReader(「JSON/file.json」)); ' – vjdhama

+0

@vjdhama Alexis請求此文件的內容... –

回答

0

錯誤是由於錯誤的說法改變

JSONArray listOfNames = (JSONArray) jsonObject.get("Name"); 

JSONArray listOfNames = new JSONArray(jsonObject.get("Name"));