在android中将普通Java Array或ArrayList转换为Json数组

有没有什么办法将普通Java数组或ArrayList转换为Android中的Json数组,以将JSON对象传递给Web服务?

如果您想要或需要使用Java数组,则始终可以使用java.util.Arrays实用程序类的静态asList()方法将数组转换为List

沿着这些线应该工作。

 String mStringArray[] = { "String1", "String2" }; JSONArray mJSONArray = new JSONArray(Arrays.asList(mStringArray)); 

注意,代码是不用写的,所以认为它是伪代码。

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

这只是一个使用string数组列表的例子

你需要外部库

  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/

例如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) { } 

对于一个简单的Java String Array,你应该尝试一下

 String arr_str [] = { "value1`", "value2", "value3" }; JSONArray arr_strJson = new JSONArray(Arrays.asList(arr_str)); System.out.println(arr_strJson.toString()); 

如果您有像ArrayList<String>types的String的通用ArrayList。 那么你应该尝试

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