1
回答
Gson转换实体类为json时报declares multiple JSON fields named错误
【腾讯云】学生服务器套餐10元/月 >>>   
如题所示,我想用java实现一个菜单树,有一个MenuItem菜单项实体类
public class MenuItem{
  private Integer id;
  private Integer parentId;//父菜单项ID
  private List<MenuItem> list;//子菜单项的集合
}
是不是因为我的类中有一个自身集合的属性list,导致Gson转换报错呢?如果是,该如何解决?请大神赐教,小弟将不胜感激。
举报
嵇智
发帖于4年前 1回/6K+阅
共有1个答案 最后回答: 3年前

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

tem im1=new MenuItem();

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

MenuItem im2=new MenuItem();
im2.setId(3);
im2.setParentId(0);
im2.setList(null);

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

MenuItem pm=new MenuItem();
pm.setId(1);
pm.setParentId(0);
pm.setList(list);
Gson json=new Gson();
String str=json.toJson(pm);
System.out.println(str);

String str1="{\"id\":1,\"parentId\":0,\"list\":[{\"id\":2,\"parentId\":0},{\"id\":3,\"parentId\":0}]}";
MenuItem pm2=json.fromJson(str1, MenuItem.class);
System.out.println(pm2.getId());
System.out.println(pm2.getList().get(0).getId());
顶部