Normal Java Array veya ArrayList öğesini Json Array uygulamasına dönüştürün android


44

JSON nesnesini bir web servisine geçirmek için normal bir Java dizisini veya ArrayList'u Android'deki bir Json Array'a dönüştürmenin herhangi bir yolu var mı?

85

veya çalışmak için ihtiyaç harici kitaplık gerekir Bir Java dizisi daha sonra dizininizi dönüştürmek için java.util.Arrays yardımcı program sınıflarını 'statik asList() yöntemini kullanabilirsiniz. List.

Bu satırlardaki bir şey çalışmalıdır.

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

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

Kodun yanlış yazıldığından emin olun, bu nedenle sözde kod olarak düşünün.

+1

arrays.asList gerekli midir? Zorlu JSONArray parametresi olarak String [] ile bir kurucu bile yoktur, aşağıdaki kod benim için iyi çalışıyor: 'Dize [] dizgileri = {" a "," b "}; JSONArray json = yeni JSONArray (dizgiler); System.out.println (json.toString()); ' 24 ağu. 132013-08-24 11:04:54

+1

Her iki şekilde de çalışır, ancak en azından Android'de, JSONArray (dizeler) API 19 31 mar. 152015-03-31 16:52:17

  0

sürümüne kadar desteklenmez. Şu anki java sürümünde çalışma şekli şöyledir: new JSONArray(). AddAll (Arrays.asList (mStringArray)) 21 ağu. 172017-08-21 18:27:42


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

Bu ArrayList bir dize kullanarak sadece bir örnektir

+6

Yep! Koleksiyonun bir parçası olmadıklarından, normal String dizileri üzerinde çalışmıyor gibi görünüyor (http://developer.android.com/reference/java/util/Collection.html)? Ama eğer her şey başarısız olursa, bunun için bir döngü oluşturabilirsin. 02 mar. 112011-03-02 11:26:38

  0

Denemeyi deneyin Arrays.asList (stringArray) ' 14 eki. 132013-10-14 14:59:55

  0

' asList() 'şu anda bu sorunu yaşıyorum gibi çalışmıyor 13 may. 142014-05-13 15:34:59


7

Eğer

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

tarihinde GSON İsterseniz en iyi kütüphane http://code.google.com/p/google-gson/


7

örnek key = "Ad" value = "Xavier" ve değer

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

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

Eğer denemelisiniz basit bir java String Array için

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

    } 

3

geçmek dizinin sayısına bağlıdır ArrayList<String> gibi bir String türünde bir Genel ArrayListiniz var. o zaman

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());