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