2017-05-05 65 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(); 
      } 
     } 
}