使用gson将复杂的树型结构转Json遇到的问题,写入文件为空

编程入门 行业动态 更新时间:2024-10-25 20:29:59

使用gson将复杂的<a href=https://www.elefans.com/category/jswz/34/1718115.html style=树型结构转Json遇到的问题,写入文件为空"/>

使用gson将复杂的树型结构转Json遇到的问题,写入文件为空

某个项目需要用到一个较为复杂的数据结构。定义成一个树型链表。

public class TreeNode {
   private String name;
    public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}
public String getPartType() {
    return partType;
}
public void setPartType(String partType) {
    this.partType = partType;
}
public List<TreeNode> getChildren() {
    return children;
}
public void setChildren(List<TreeNode> children) {
    this.children = children;
}
    private String partType;
   private List<TreeNode> children;
    public TreeNode(String name,String partType)
    {
        this.name=name;
        this.partType=partType;
        this.children=new ArrayList<TreeNode>();
        
    }
    @Override
    public String toString() {
        return "TreeNode [name=" + name + ", partType=" + partType + ", children=" + children + "]";
    }
}
创建一个存人Tree Node类的List,原本打算直接将此转成json文件保存,以便以后恢复成list<TreeNode>。结果转换出错,定义一个类。将此放进去:

public class TreeNodeList {
    private ArrayList<TreeNode> list;
    public  void setList(ArrayList<TreeNode> list) {
        this.list = list;
    }   //不能少
    public ArrayList<TreeNode> getList() {
        return list;
    }   //不能少
    public  TreeNodeList(ArrayList<TreeNode> l)
    {
         list=l;
    }
    
    public TreeNodeList()
    {}     //不能少

}
然后再转,再写就ok了。注意,注释了“不能少”的是所有属性都要提供get和set方法,还要提供无参构造器。否则转不成功。

多谢杨同学!!!

附简单写入的代码,希望帮到遇到同样问题的人

   public static void writeJson(String jsonFilePath,ArrayList<TreeNode> treeNodeList)
    {
         Gson gson=new Gson();
         TreeNodeList tnList=new TreeNodeList(treeNodeList);
         
            String result= gson.toJson(tnList);
           
            try {
                FileWriter writer=new FileWriter(jsonFilePath);
                writer.write(result);
                writer.flush();
                writer.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
          
    }

更多推荐

使用gson将复杂的树型结构转Json遇到的问题,写入文件为空

本文发布于:2023-12-03 06:48:30,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1652318.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:树型   为空   结构   文件   gson

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!