web-dev-qa-db-fra.com

Convertir un tableau normal Java Array ou ArrayList en tableau Json dans android

Existe-t-il un moyen de convertir un tableau Java normal ou ArrayList normal] en un tableau Json dans Android pour transmettre l'objet JSON à un service Web?

59
jennifer

Si vous voulez ou devez travailler avec un tableau Java, vous pouvez toujours utiliser le paramètre static _ de la classe d'utilitaires Java.util.ArraysasList() _ pour convertir votre tableau en List.

Quelque chose dans ce sens devrait marcher.

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

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

Attention, le code est écrit à la volée, donc considérez-le comme un pseudo-code.

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

Ceci est seulement un exemple utilisant un arraylist de chaîne

36
Reno

vous avez besoin d'une bibliothèque externe

 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 est la meilleure bibliothèque http://code.google.com/p/google-gson/

8
Dead Programmer

example key = "Name" value = "Xavier" et la valeur dépend du nombre de tableaux que vous transmettez

 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)
     {

     }
8
Shivputra N

Pour un simple Java String Array, vous devriez essayer

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

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

Si vous avez une ArrayList générique de type String comme ArrayList<String>. alors vous devriez essayer

 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());
5
Vikrant Kashyap

C'est la syntaxe correcte:

String arlist1 [] = { "value1`", "value2", "value3" };
JSONArray jsonArray1 = new JSONArray(arlist1);
5
david m lee