开发者社区> 问答> 正文

Gson转换实体类为json时报declares multiple JSON f?报错

如题所示,我想用java实现一个菜单树,有一个MenuItem菜单项实体类
public class MenuItem{
  private Integer id;
  private Integer parentId;//父菜单项ID
  private List<MenuItem> list;//子菜单项的集合
}
是不是因为我的类中有一个自身集合的属性list,导致Gson转换报错呢?如果是,该如何解决?请大神赐教,小弟将不胜感激。

展开
收起
爱吃鱼的程序员 2020-06-15 19:47:13 663 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    我用你的实体类写了一遍,没有发现任何问题啊!

    temim1=newMenuItem();

    im1.setId(2);
    im1.setParentId(0);
    im1.setList(null);

    MenuItemim2=newMenuItem();
    im2.setId(3);
    im2.setParentId(0);
    im2.setList(null);

    List<MenuItem>list=newArrayList<MenuItem>();
    list.add(im1);
    list.add(im2);

    MenuItempm=newMenuItem();
    pm.setId(1);
    pm.setParentId(0);
    pm.setList(list);
    Gsonjson=newGson();
    Stringstr=json.toJson(pm);
    System.out.println(str);

    Stringstr1="{\"id\":1,\"parentId\":0,\"list\":[{\"id\":2,\"parentId\":0},{\"id\":3,\"parentId\":0}]}";
    MenuItempm2=json.fromJson(str1,MenuItem.class);
    System.out.println(pm2.getId());
    System.out.println(pm2.getList().get(0).getId());
    2020-06-15 19:47:32
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载