2017-05-05 56 views
-1

我收到來自服務器的json響應。這裏是我的JSON:無法拆分android中的json響應

{ 
    "result": 1, 
    "IsActive": true, 
    "Type": 0, 
    "FirstName": "John", 
    "roleId": 6300, 
    "MinTotalPriceOrder": 0, 
    "PhoneNumberConfirmed": false, 
    "Cell": "09382665250", 
    "StartDate": "2015-09-30T11:41:58", 
    "DepotId": 393, 
    "mlm": null, 
    "revoked": false 
} 

現在我想拆分它們。我的意思是我想從服務器中的「名字」在一個字符串或顯示在一個文本視圖。但它顯示了textview中的整個json! 這裏是我的Java代碼:

StringRequest strRequest = new StringRequest(Request.Method.POST, url, 
        new Response.Listener<String>() 
        { 
         @Override 
         public void onResponse(String response) 
         { 
          try { 
           JSONArray jArray = new JSONArray(response); 
           JSONObject jObject = jArray.getJSONObject(1); 
           String result = jObject.getString("FirstName"); 
           textview.setText(result); 

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

什麼問題?

+1

這不是JSONArray你得到JSONObject – Lingeshwaran

+0

代碼看起來沒問題。你應該打印'response'和'result',看看是否如預期的那樣。還要注意數組是0索引的。所以'getJSONObject(1);'將是第二個*項目。 – RobCo

+1

'現在我想分裂他們。 '你的意思是:「我想解析它」。 – greenapps

回答

1

試試這個

StringRequest strRequest = new StringRequest(Request.Method.POST, url, 
        new Response.Listener<String>() 
        { 
         @Override 
         public void onResponse(String response) 
         { 
          try { 
           JSONObject jObject = new JSONObject(response); 

           String result = jObject.getString("FirstName"); 
           textview.setText(result); 

          } catch (JSONException e) { 
           e.printStackTrace(); 
          } 
         } 
+6

'請接受我的回答.'請不要爲自己問這樣的事情。給人留下不好的印象。 – greenapps

0

您需要通過的JSONObject不JSONArray得到它,因爲這是JSON對象。嘗試下面的代碼。

StringRequest strRequest = new StringRequest(Request.Method.POST, url, 
    new Response.Listener<String>() 
    { 
    @Override 
    public void onResponse(String response) 
    { 
     try { 
      JSONObject jObject = new JSONObject(response); 

      String result = jObject.getString("result"); 
      String isActive = jObject.getString("IsActive"); 
      String Type = jObject.getString("Type"); 
      String FirstName = jObject.getString("FirstName"); 
      String roleId = jObject.getString("roleId"); 
      String MinTotalPriceOrder = jObject.getS tring("MinTotalPriceOrder"); 
      String PhoneNumberConfirmed = jObject.getString("PhoneNumberConfirmed"); 
      String Cell = jObject.getString("Cell"); 
      String StartDate = jObject.getString("StartDate"); 
      String DepotId = jObject.getString("DepotId"); 
      String mlm = jObject.getString("mlm"); 
      String revoked = jObject.getString("revoked"); 
      textview.setText(FirstName); 

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