Я получаю данные из массива с сервера. Теперь я хочу поместить полученные данные (имена пользователей) в массив строк. Я не знаю, как поместить данные в массив строк.

Код:-

                 JSONObject jo = new JSONObject(data);
                Log.d("response", jo.toString(4));
                JSONArray jArray = jo.getJSONArray("driver_details");  
                    for (int i=0; i < jArray.length(); i++)
                    {
                        System.out.println("please print my name...for....");
                        try {
                                JSONObject jsob = jArray.getJSONObject(i);
                                // Pulling items from the array
                                 mfname = jsob.getString("first_name");
                                                }
                                          }
2
WannaBeGeek 9 Апр 2014 в 09:04

3 ответа

Лучший ответ

У вас есть несколько вариантов. Один из них использует String [] или ArrayList ();

JSONObject jo = new JSONObject(data);

     Log.d("response", jo.toString(4));

      JSONArray jArray = jo.getJSONArray("driver_details");  

       String[] names = new String[jArray.length()];

        for (int i=0; i < jArray.length(); i++)
         {
              System.out.println("please print my name...for....");
               try {


                        JSONObject jsob = jArray.getJSONObject(i);
                         // Pulling items from the array
                         mfname = jsob.getString("first_name");
                                 names[i] = mfname;
                                                     }
                                                   }

Вы также можете использовать ArrayList ():

List<String> names= new ArrayList<String>();
....
names.add(mfname);
4
Lazy Ninja 9 Апр 2014 в 05:15

Попробуй это..

Для строкового массива

String[] array_items = new String[jArray.length()];
for (int i=0; i < jArray.length(); i++)
{
      try{
             JSONObject jsob = jArray.getJSONObject(i);
             array_items[i] = jsob.getString("first_name");
         } catch (JSONException e) {
             e.printStackTrace();
         }
}

Для String ArrayList

   ArrayList<String> arraylist_items = new ArrayList<String>();
   for (int i=0; i < jArray.length(); i++)
    {
          try{
                 JSONObject jsob = jArray.getJSONObject(i);
                 arraylist_items.add(jsob.getString("first_name"));
             }catch (JSONException e) {
                 e.printStackTrace();
             }
    }
3
Hariharan 9 Апр 2014 в 05:09

Попробуйте что-то вроде кода ниже:

Для Arraylist:

JSONObject jo = новый JSONObject (данные);

JSONArray jArray = jo.getJSONArray("driver_details");  
ArrayList<String> users = new ArrayList<String>();

 for (int i=0; i < jArray.length(); i++)
    {
     try {

          JSONObject jsob = jArray.getJSONObject(i);
           String mfname = jsob.getString("first_name");
           users.add(mfname);
           }
           catch (JSONException e) {
            e.printStackTrace();
           }
    }

Для массива String:

JSONObject jo = new JSONObject(data);

JSONArray jArray = jo.getJSONArray("driver_details");  
String[] users = new String[jArray.length()];

 for (int i=0; i < jArray.length(); i++)
    {
     try {

          JSONObject jsob = jArray.getJSONObject(i);
           String mfname = jsob.getString("first_name");
           users[i] = mfname;
           }
           catch (JSONException e) {
            e.printStackTrace();
           }
    }
3
Sagar Maiyad 9 Апр 2014 в 05:32