2014-09-25 81 views
0

我在這個鏈接一個JSON代碼:here獲取所有的JSON元素時,將字符串轉換爲JSONObject的

我試圖通過代碼來分析它:

JSONObject jsonObj; 
     try { 
      jsonObj = new JSONObject(json.substring(json.indexOf("{"), json.lastIndexOf("}") + 1)); 
      System.out.println("jsonObj: "+jsonObj); 

      jArray = new JSONArray(); 
      jArray.put(jsonObj); 

     } catch (JSONException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 

但只給出第一元件。如何獲取JSON的所有元素?

+0

的鏈接是一個JSON數組的。簡單地解析JSONArray對象中的json字符串。這將做到 – 2014-09-25 12:46:38

+0

我試圖做到這一點,但它給了我'錯誤解析數據org.json.JSONException:java.lang.String類型的值不能轉換爲JSONArray' – Eman87 2014-09-25 12:48:09

+0

您的'JSON響應'無效。它給出了「意外的令牌錯誤」。 – Piyush 2014-09-25 12:54:44

回答

1

這是一個無效的JSON,你需要添加 '{ 「」:your_JSON_here}' andit將工作

您的代碼將是這樣的:

JSONObject jsonObj; 
     try { 
      jsonObj = new JSONObject(json.substring(json.indexOf("{\"\":"), json.lastIndexOf("}") + 1)); 
      System.out.println("jsonObj: "+jsonObj); 

      jArray = new JSONArray(); 
      jArray.put(jsonObj); 

     } catch (JSONException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 
+0

我知道這是無效的JSON。請爲'{「」:your_JSON_here}'添加示例代碼' – Eman87 2014-09-25 12:54:26

+0

它給了我'錯誤解析數據org.json.JSONException:類型java.lang.String的值不能轉換爲JSONArray' – Eman87 2014-09-25 13:06:54

+0

我現在正在測試它... – 2014-09-25 13:09:42

相關問題