2017-09-17 214 views
-1

我正在開發一個Android應用程序。有一個活動從遠程PHP文件中檢索JSON數據。JSON對象響應

這是接收到的響應:

[{"result":{"cel_verificado":"888"}}] 

而這個功能,我需要檢索cel_certificado值:

我得到以下日誌的詳細信息:

D/MainActivity: ID RESPUESTA CEL en SHOWJSONCELL = [{"result":{"cel_verificado":"888"}}] 


private void showJSONCel(String response){ 

     Log.d(TAG,"ID RESPUESTA CEL en SHOWJSONCELL = "+response); 


     try { 

      JSONObject jObj = new JSONObject(response); 
      JSONObject user = jObj.getJSONObject("result"); 
      String recibido = user.getString("cel_verificado"); 
      cel_verificado_valor= recibido; 
      Log.d(TAG, "ESTOY EN MAIN GET DATA SHOWJSONcel TRY"+cel_verificado_valor); 


     } catch (JSONException e) { 
      Log.d(TAG, "ESTOY EN MAIN GET DATA SHOW JSON CELL error"); 
      e.printStackTrace(); 
     } 
} 

什麼我做錯了嗎?它拋出異常。

謝謝

+0

你可以添加你的異常嗎? – user7294900

回答

1

從您發佈服務器的響應來看,您會收到一個JSONArray,不是一個JSONObject。所以,你需要分析它本身和它採取的第一個元素:

try { 
    JSONArray jArr = new JSONArray(response); 
    JSONObject jObj = jArr.getJSONObject(0); 
    JSONObject user = jObj.getJSONObject("result"); 
    // .. 
} 
+0

謝謝,它的工作原理... – mvasco

1

這是一個JSONArray

[{"result":{"cel_verificado":"888"}} 

你必須得到的第一個對象的JSONObject(0),然後使用字符串「結果」,這將再次給一個JSON對象回你

編輯:發佈完整的json數組,如果這只是從某處之間的片段。