Есть ли способ конвертировать обычный массив Java или ArrayList
в Json Array в Android для передачи объекта JSON в веб-сервис?
Преобразование нормального массива Java или ArrayList в Json Array в android
Ответ 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());