2014-04-08 4 views
0

Я новичок в разборе json, и я догнал большое время. Я должен разобрать следующее: -Parsing JSONArray в Android

[ 
    { 
    "firstname": abc, 
    "lastname": xyp, 
    "designation" : executive, 
    "user": { 
     "username": "xypabc", 
     "userid": 4003, 
     }, 
    }, 

    { 
    "firstname": pqr, 
    "lastname": vbn, 
    "designation" : security, 
    "user": { 
     "username": "vbnpqr", 
     "userid": 11231, 
     }, 
    },  


    { 
    "firstname": ghk, 
    "lastname": lkj, 
    "designation" : manager, 
    "user": { 
     "username": "lkjghk", 
     "userid": 774, 
     }, 
    } 
] 

мне нужно принести «логин» и «USERID» сверху. Ниже приведен код, который я написал: -

try { 
    JSONArray jsonObj = new JSONArray(response); 
    for(int i=0 ; i<jsonObj.length(); i++) 
    {          
     JSONObject json_Data = jsonObj.getJSONObject(i); 
     String userName = json_Data.getString("username"); 
     String userId = json_Data.getString("userid"); 
     Log.d("Factors","UserName :- "+userName+" ID :- "+userId); 
    } 
    }catch (JSONException e) { 
     Log.d("Failure","Dude I have failed"); 
    }. 

Проблема в том, что мой код заканчивается исключением. Пожалуйста, помогите !!!

+0

ваш забыл разборе ' "пользователь": {' под которым вы ahve username и id – Raghunandan

ответ

1

username и userid находится в пределах user JSONObject разбора пользователя JSONObject, а затем получить строку из имени пользователя и идентификатора пользователя.

DO, как это, чтобы получить username и userid

for(int i=0 ; i<jsonObj.length(); i++) 
    {          
     JSONObject json_Data = jsonObj.getJSONObject(i); 
     String userName = json_Data.getJSONObject("user").getString("username"); 
     String userId = json_Data.getJSONObject("user").getString("userid"); 
     Log.d("Factors","UserName :- "+userName+" ID :- "+userId); 
    } 
+0

Спасибо @Nambi Narayanan .. работает чудесно !!! ... но я сожалею, что не могу «проголосовать» за ответы на ур, поскольку у меня нет достаточной репутации :(Neways thanks a ton – saugatchetry

+0

Подумайте о том, чтобы посмотреть в парсер Gson, это довольно удивительно. – Joris

0

Синтаксический: «пользователь»

try { 
     JSONArray jsonObj = new JSONArray(response); 
     for(int i=0 ; i<jsonObj.length(); i++) 
     {          
      JSONObject json_Data = jsonObj.getJSONObject(i); 
      JSONObject user = json_Data.getJSONObject("user"); 
      String userName = user.getString("username"); 
      String userId = user.getString("userid"); 
      Log.d("Factors","UserName :- "+userName+" ID :- "+userId); 
     } 
     }catch (JSONException e) { 
      Log.d("Failure","Dude I have failed"); 
     } 
0
JSONArray jresult = new JSONArray(response); 

jresult = json.getJSONArray("user"); 
for (int i = 0; i < jresult .length(); i++) 
{ 
JSONObject obj = jresult .getJSONObject(i); 
String username=obj.getString("username"); 
int userid=obj.getInt("userid"); 
} 
0
if(result != null) 
      { 
       try 
       { 
        JSONObject jobj = result.getJSONObject("result"); 

        String status = jobj.getString("status"); 

        if(status.equals("true")) 
        { 
         JSONArray array = jobj.getJSONArray("user"); 

         for(int x = 0; x < array.length(); x++) 
         { 
          HashMap<String, String> map = new HashMap<String, String>(); 

          map.put("username", array.getJSONObject(x).getString("username")); 

          map.put("userid", array.getJSONObject(x).getString("userid")); 



          list.add(map); 
         } 

         CalendarAdapter adapter = new CalendarAdapter(Calendar.this, list); 

         list_of_calendar.setAdapter(adapter); 
        } 
       } 
       catch (Exception e) 
       { 
        e.printStackTrace(); 
       } 
0

Попробуйте этот код: :)

JSONArray jsonObj = new JSONArray(response); 
       for(int i=0 ; i<jsonObj.length(); i++) 
       {          
        JSONObject json_Data = jsonObj.getJSONObject(i); 
        String firstname = json_Data.getString("firstname"); 
        String lastname = json_Data.getString("lastname"); 
        String designation = json_Data.getString("designation"); 

        JSONArray jsons1 = json_Data.getJSONArray("user"); 
        for (int j = 0; j < jsons1.length(); j++) { 

         JSONObject jsonss = jsons1.getJSONObject(j); 
         String username = jsonss.getString("username"); 
          String userid = jsonss.getString("userid"); 
        } 

       } 
       }catch (JSONException e) { 
        Log.d("Failure","Dude I have failed"); 
       }