如何使用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" ] ]