在字段前加transient关键字,gson就会在序列化时忽略这个字段 transient关键字本是配合Java自带的Serilizable序列化接口使用的,gson直接借用了这个特性
public class TreeNode {
public String id;
public String parentId;
public Integer level = 0;
//父节点包含子节点,字节点也包含父节点,对象循环引用
//会导致Gson在序列化时无限创建对象
//可以通过transient来忽略parentNode字段,通过parentId来查找
public transient TreeNode parentNode;
public List children = new LinkedList();
//选中状态,0表示全部取消,1表示全部选中,2表示部分选中
public int selection = 0;
public boolean expand = false;
//树结构转List
public List toList() {
return null;
}
}