¿Hay alguna forma de convertir una matriz Java normal o ArrayList
en una matriz Json en Android para pasar el objeto JSON a un servicio web?
Si quiere o necesita trabajar con una matriz Java, siempre puede usar el método estático asList()
clases de la utilidad java.util.Arrays
para convertir su matriz a una List
.
Algo en ese sentido debería funcionar.
String mStringArray[] = { "String1", "String2" }; JSONArray mJSONArray = new JSONArray(Arrays.asList(mStringArray));
Tenga en cuenta que el código está escrito de manera informal, así que considérelo pseudocódigo.
ArrayList list = new ArrayList (); list.add("blah"); list.add("bleh"); JSONArray jsArray = new JSONArray(list);
Esto es solo un ejemplo usando una lista de arrays de cuerdas
necesitas una biblioteca externa
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 es la mejor biblioteca http://code.google.com/p/google-gson/
clave de ejemplo = “Nombre” valor = “Xavier” y el valor depende del número de matriz que pase
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) { }
Para una matriz de String
java simple, deberías probar
String arr_str [] = { "value1`", "value2", "value3" }; JSONArray arr_strJson = new JSONArray(Arrays.asList(arr_str)); System.out.println(arr_strJson.toString());
Si tiene una ArrayList Genérica de tipo String como ArrayList
. entonces deberías probar
ArrayList 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());
Esta es la syntax correcta:
String arlist1 [] = { "value1`", "value2", "value3" }; JSONArray jsonArray1 = new JSONArray(arlist1);