2017-07-01 36 views
-1

我是相當新的使用JavaApi從android中的服務器檢索數據。 以前使用.php文件從數據庫中檢索數據。JSonResponse沒有數組在android中

我的問題是不一樣陣列下面 m到處JSON響應:

{"data":{"param1":true,"param2":3,"param3":"NULL"},"success":"1"} 

,我想從這個響應檢索參數2值

以.php我們通常會得到數組值,所以它將很容易與jsonResponse一起使用,但使用Java API我沒有得到任何數組值。

我試圖將響應字符串轉換成數組,然後檢索參數值,但它沒有工作。

還關注解決方案,但沒有找到任何解決方案

這怎麼辦???

回答

1
{"data":{"param1":true,"param2":3,"param3":"NULL"},"success":"1"} 

這裏數據已JSONObject的價值

所以解析JSON這樣

try { 
     JSONObject obj=new JSONObject("{\"data\":{\"param1\":true,\"param2\":3,\"param3\":\"NULL\"},\"success\":\"1\"}"); 

     JSONObject data=obj.getJSONObject("data"); 

     //getting param2 from data 

     int param2=data.getInt("param2"); 

    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
1

試試這個方式來獲得JSON響應數據:

String response = responseString; 

    JSONObject jsonRes = null; 
    try { 
     jsonRes = new JSONObject(response); 
     String valSuccess = jsonRes.getString("success"); 
     JSONObject dataObj = jsonRes.getJSONObject("data"); 

     String parm1Val = dataObj.getString("param1"); 
     String parm2Val = dataObj.getString("param2"); 
     String parm3Val = dataObj.getString("param3"); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    }