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

jen*_*fer 60 java android json

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

Oct*_*ean 105

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

这些方面的东西应该有效.

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

JSONArray mJSONArray = new JSONArray(Arrays.asList(mStringArray));
Run Code Online (Sandbox Code Playgroud)

请注意代码是随意编写的,因此请将其视为伪代码.


Ren*_*eno 36

ArrayList<String> list = new ArrayList<String>();
list.add("blah");
list.add("bleh");
JSONArray jsArray = new JSONArray(list);
Run Code Online (Sandbox Code Playgroud)

这只是使用字符串arraylist的一个例子

  • 是的!似乎不适用于普通的String数组,因为它们不是Collection的一部分(http://developer.android.com/reference/java/util/Collection.html)?但如果所有其他方法都失败了,你可以为它运行一个for循环. (6认同)

Dea*_*mer 8

你需要外部库

 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);
Run Code Online (Sandbox Code Playgroud)

Google Gson是最好的图书馆http://code.google.com/p/google-gson/


Shi*_*a N 8

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

     }
Run Code Online (Sandbox Code Playgroud)


dav*_*lee 7

这是正确的语法:

String arlist1 [] = { "value1`", "value2", "value3" };
JSONArray jsonArray1 = new JSONArray(arlist1);
Run Code Online (Sandbox Code Playgroud)


Vik*_*yap 5

对于一个简单的java String数组,你应该尝试

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

JSONArray arr_strJson = new JSONArray(Arrays.asList(arr_str));
System.out.println(arr_strJson.toString());
Run Code Online (Sandbox Code Playgroud)

如果你有一个String类型的Generic ArrayList ArrayList<String>.那你应该试试

 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());
Run Code Online (Sandbox Code Playgroud)