如何使用Java中的JSON-lib API将集合转换为JSON数组?

 net.sf.json.JSONArray是一个有序的序列值。它的外部文本形式是用方括号括起来的字符串,用逗号分隔值,内部形式是一个对象,该对象具有用于通过索引访问值的get()opt()方法,以及用于添加或替换值的element()方法。值可以是以下任何类型,例如Boolean,JSONArray,JSONObject,Number,String JSONNull 对象。

在下面的示例中,我们可以将collection(List)转换为JSON数组

示例

import java.util.*;
import net.sf.json.JSONArray;
import net.sf.json.JSONSerializer;
public class ConvertCollectionToJsonArrayTest {
   public static void main(String[] args) {
      List<String> strList = Arrays.asList("India", "Australia", "England", "South Africa");
      JSONArray jsonArray = (JSONArray)JSONSerializer.toJSON(strList);
      System.out.println(jsonArray.toString(3)); //pretty print JSON
      List<Object> objList = new ArrayList<Object>();
      objList.add("List Data");
      objList.add(new Integer(50));
      objList.add(new Long(99));
      objList.add(new Double(50.65));
      objList.add(true);
      objList.add(new char[] {'X', 'Y', 'Z'});
      jsonArray = (JSONArray)JSONSerializer.toJSON(objList);
      System.out.println(jsonArray.toString(3)); //pretty print JSON
   }
}

输出结果

[
   "India",
   "Australia",
   "England",
   "South Africa"
]
[
   "List Data",
   50,
   99,
   50.65,
   true,
      [
      "X",
      "Y",
      "Z"
   ]
]