// 1)简单对象
Person person = new Person("zhangsan",20,new SimpleDateFormat("yyyy-MM-dd").parse("1998-10-20"),"male");
// 日期类型的转换
JsonConfig jsonConfig = new JsonConfig();
jsonConfig.registerJsonValueProcessor(java.util.Date.class, new DateJsonValueProcessor("yyyy:MM:dd"));
JSONObject person_json = JSONObject.fromObject(person,jsonConfig);
System.out.println(person_json.toString());
这里的第二行第三行代码涉及到日期类型的转换,除了多加这两行代码,还要实现JsonValueProcessor接口,重写processObjectValue方法。
public class DateJsonValueProcessor implements JsonValueProcessor {
private String format = "yyyy-MM-dd";
public DateJsonValueProcessor() {
super();
}
public DateJsonValueProcessor(String format) {
super();
this.format = format;
}
@Override
public Object processArrayValue(Object arg0, JsonConfig arg1) {
// TODO Auto-generated method stub
return null;
}
@Override
public Object processObjectValue(String key, Object value, JsonConfig jsonConfig) {
if(value instanceof Date)
{
String str = new SimpleDateFormat(format).format((Date)value);
return str;
}
return null;
}
}
// 2)List集合
List<String> list = new ArrayList<String>();
list.add("zhangsan");
list.add("lisi");
list.add("wamgwu");
list.add("zhaoliu");
JSONArray list_json = JSONArray.fromObject(list);
System.out.println(list_json.toString());
// 3)List集合(存放的是bean)
List<Person> list2 = new ArrayList<Person>();
list2.add(new Person("zhangsan",20,new SimpleDateFormat("yyyy-MM-dd").parse("1998-10-20"),"male"));
list2.add(new Person("lisi",30,new SimpleDateFormat("yyyy-MM-dd").parse("1999-10-20"),"female"));
list2.add(new Person("wangwu",40,new SimpleDateFormat("yyyy-MM-dd").parse("1996-10-20"),"male"));
list2.add(new Person("zhaoliu",50,new SimpleDateFormat("yyyy-MM-dd").parse("1997-10-20"),"female"));
JSONArray list_json2 = JSONArray.fromObject(list2,jsonConfig);
System.out.println(list_json2.toString());
// 4)map集合
Map<String,String> map = new HashMap<String,String>();
map.put("name", "zhangsan");
map.put("birth", "2001-10-21");
map.put("age", "30");
JSONObject map_json = JSONObject.fromObject(map);
System.out.println(map_json.toString());
// 5)map集合(存放的是bean)
Map<String,Person> map2 = new HashMap<String,Person>();
map2.put("p1", new Person("zhangsan",20,new SimpleDateFormat("yyyy-MM-dd").parse("1998-10-20"),"male"));
map2.put("p2", new Person("lisi",30,new SimpleDateFormat("yyyy-MM-dd").parse("1998-20-20"),"female"));
map2.put("p3", new Person("wangwu",20,new SimpleDateFormat("yyyy-MM-dd").parse("1998-10-20"),"male"));
JSONObject map_json2 = JSONObject.fromObject(map2,jsonConfig);
System.out.println(map_json2.toString());
// 6)map集合(存放的是List)
Map<String,List<Person>> map3 = new HashMap<String,List<Person>>();
map3.put("p1", list2);
List<Person> list3 = new ArrayList<Person>();
list3.add(new Person("zhangsan3",20,new SimpleDateFormat("yyyy-MM-dd").parse("1998-13-20"),"male"));
list3.add(new Person("lisi3",30,new SimpleDateFormat("yyyy-MM-dd").parse("1999-13-20"),"female"));
list3.add(new Person("wangwu3",40,new SimpleDateFormat("yyyy-MM-dd").parse("1996-13-20"),"male"));
list3.add(new Person("zhaoliu3",50,new SimpleDateFormat("yyyy-MM-dd").parse("1997-13-20"),"female"));
map3.put("p2", list3);
JSONObject map_json3 = JSONObject.fromObject(map3,jsonConfig);
System.out.println(map_json3.toString());
// 7)简单数组
boolean[] boolarray = new boolean[] {true,false,true};
JSONArray boolarray_json = JSONArray.fromObject(boolarray);
System.out.println(boolarray_json.toString());