it-swarm.com.de

Konvertieren Sie normales Java Array oder ArrayList in Json Array in android

Gibt es eine Möglichkeit, ein normales Java Array oder ArrayList in ein Json-Array in Android zu konvertieren, um das JSON-Objekt an einen Webservice zu übergeben?

59
jennifer

Wenn Sie mit einem Array Java) arbeiten möchten oder müssen, können Sie immer das static asList() der Utility-Klassen Java.util.Arrays Verwenden Methode zum Konvertieren Ihres Arrays in ein List.

Etwas in diese Richtung sollte funktionieren.

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

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

Beachten Sie, dass Code von Hand geschrieben ist, und betrachten Sie ihn als Pseudocode.

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

Dies ist nur ein Beispiel für die Verwendung einer String-Arrayliste

36
Reno

sie benötigen eine externe Bibliothek

 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 ist die beste Bibliothek http://code.google.com/p/google-gson/

8
Dead Programmer

beispiel key = "Name" value = "Xavier" und der Wert hängt von der Anzahl der Arrays ab, die Sie übergeben

 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

Für ein einfaches Java String Array sollten Sie versuchen

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

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

Wenn Sie eine generische ArrayList vom Typ String wie ArrayList<String> Haben. dann solltest du es versuchen

 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

Dies ist die korrekte Syntax:

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