Подтвердить что ты не робот

Преобразование нормального массива Java или ArrayList в Json Array в android

Есть ли способ конвертировать обычный массив Java или ArrayList в Json Array в Android для передачи объекта JSON в веб-сервис?

4b9b3361

Ответ 1

Если вам нужно или нужно работать с массивом Java, вы всегда можете использовать статический asList() метод java.util.Arrays классов утилит для преобразования вашего массива в List.

Что-то вдоль этих строк должно работать.

String mStringArray[] = { "String1", "String2" };

JSONArray mJSONArray = new JSONArray(Arrays.asList(mStringArray));

Остерегайтесь того, что код написан небрежно, поэтому считайте его псевдокодом.

Ответ 2

ArrayList<String> list = new ArrayList<String>();
list.add("blah");
list.add("bleh");
JSONArray jsArray = new JSONArray(list);

Это только пример использования строкового arraylist

Ответ 3

вам нужна внешняя библиотека

 json-lib-2.2.2-jdk15.jar

List mybeanList = new ArrayList();
mybeanList.add("S");
mybeanList.add("b");

JSONArray jsonA = JSONArray.fromObject(mybeanList);
System.out.println(jsonA);

Google Gson - лучшая библиотека http://code.google.com/p/google-gson/

Ответ 4

example key = "Name" value = "Xavier", а значение зависит от количества передаваемого массива в

 try
      {
      JSONArray jArry=new JSONArray();
      for (int i=0;i<3;i++)
      {
       JSONObject jObjd=new JSONObject();
       jObjd.put("key", value);
       jObjd.put("key", value);
       jArry.put(jObjd);
      }
      Log.e("Test", jArry.toString());
      }
 catch(JSONException ex)
     {

     }

Ответ 5

Для простого массива java String вы должны попробовать

String arr_str [] = { "value1`", "value2", "value3" };

JSONArray arr_strJson = new JSONArray(Arrays.asList(arr_str));
System.out.println(arr_strJson.toString());

Если у вас есть Generic ArrayList типа String, например ArrayList<String>. то вы должны попробовать

 ArrayList<String> obj_list = new ArrayList<>();
    obj_list.add("value1");
    obj_list.add("value2");
    obj_list.add("value3");
  JSONArray arr_strJson = new JSONArray(obj_list));
  System.out.println(arr_strJson.toString());