2016-02-02 47 views
1

我有一個JSON陣列:JSON-簡單:JSONArray用法錯誤

JSON_STRING = [{"name": "adminparking1", "id": 1},{"name": "adminparking2", "id": 2}] 

,我想它解析爲JSON-簡單數組和JSON的工作對象,這從它的例子提供了我這樣做這種方式:

JSONParser jsonParser = new JSONParser(); 
    Object res_obj = jsonParser.parse(JSON_STRING); 
    JSONArray json = (JSONArray) res_obj; //(HERE Error Occurs) 

它給我這個錯誤:

java.lang.ClassCastException: java.lang.String cannot be cast to org.json.simple.JSONArray

我怎樣才能擺脫這種錯誤的?

+0

應該採取什麼'JSON_STRING = [... 「告訴我們?這不是有效的Java代碼。 – wero

回答

0

此代碼工作得很好,如果JSON字符串是有效的

public static void main() throws ParseException { 
    String JSON_STRING = "[{\"name\": \"adminparking1\", \"id\": 1},{\"name\": \"adminparking2\", \"id\": 2}]"; 
    JSONParser jsonParser = new JSONParser(); 
    Object res_obj = jsonParser.parse(JSON_STRING); 
    JSONArray json = (JSONArray) res_obj; // no Error 
    System.out.println(json.get(1)); 
} 

打印

{"name":"adminparking2","id":2} 
+0

讓我知道它是否有幫助 – MaxZoom

0

你有沒有嘗試過這樣的:

JSONArray arr = new JSONArray(JSON_STRING); 

    //loop through each object 
    for (int i=0; i<arr.length(); i++){ 

    JSONObject jsonProductObject = arr.getJSONObject(i); 
    String name = jsonProductObject.getString("name"); 
    String url = jsonProductObject.getString("id"); 
} 
+0

這是json簡單的庫不是org.json,你的例子是org.json – Leo