fastjson处理List和Map泛型
public class JSONDemo03 {
public static void main(String[] args) {
// 泛型List转化
List<Course> list = new ArrayList<>();
list.add(new Course(1, "语文"));
list.add(new Course(2, "数学"));
list.add(new Course(3, "英语"));
JSONArray array = (JSONArray) JSON.toJSON(list);
// JSONArray 带参构造需要List类型为List<Object> list
JSONArray array2 = new JSONArray();
array2.addAll(list);
List<Course> list2 = JSON.parseObject(array.toJSONString(),
new TypeReference<List<Course>>() {
});
System.out.println(array + "\n" + array2 + "\n" + list + "\n" + list2);
System.out.println(list.equals(list2));
// 泛型Map转化
Map<String, Teacher> map1 = new HashMap<>();
Teacher t1 = new Teacher();
t1.setCourse(new Course());
Teacher t2 = new Teacher();
t2.setCourse(new Course());
map1.put("t1", t1);
map1.put("t2", t2);
String json = JSON.toJSONString(map1);
Map<String, Teacher> map2 = JSON.parseObject(json,
new TypeReference<Map<String, Teacher>>() {
});
System.out.println(map2.get("t1").getCourse() + "\n"
+ map2.get("t2").getCourse());
}
}