从Java数组或者集合中创建数组,最简单的办法就是通过静态工厂方法JSONArray。
boolean[] boolArray = new boolean[]{true,false,true};
JSONArray jsonArray = JSONArray.fromObject(boolArray);
System.out.println(jsonArray);//[true,false,true]
List list = new ArrayList();
list.add("first");
list.add("second");
JSONArray jsonArray = JSONArray.fromObject(list);
System.out.println(jsonArray);//["first","second"]
JSONArray jsonArray = JSONArray.fromObject("['JSON','IS','GOOD']");
System.out.println(jsonArray); //["JSON","IS","GOOD"]
从Map、JavaBean到JSON对象
/*map对象到Java对象*/
Map map = new HashMap();
map.put("name", "json");
map.put("bool", Boolean.TRUE);
map.put("int", new Integer(1));
map.put("arr", new String[]{"b","a"});
map.put("func", "function(i){ return this.arr[i]}");
JSONObject jsonObject = JSONObject.fromObject(map);
//{"arr":["b","a"],"bool":true,"func":function(i){ return
// this.arr[i]},"name":"json","int":1}
System.out.println(jsonObject);
public class MyBean {
private String name = "json";
private int pojoId = 1;
private char[] options = new char[]{'a','b'};
private String func1 = "function(i){return this.options[i];";
private JSONFunction func2 =new JSONFunction(new String[]{"i"},"return this.options[i];");
//省略getter、setter方法
JSONObject jsonObject = JSONObject.fromObject(new MyBean());
System.out.println(jsonObject);
/*{"func1":"function(i){return this.options[i];","func2":function(i){ return this.options[i]; },"name":"json","options":["a","b"],"pojoId":1}*/