JSONArray.fromObject为什么只返回{}

li_rt4 2018-02-23 11:19:29
我用JSONArray.fromObject将一个List 转为字符串,为什么返回一组{}?
代码:
MenuHelper mh=new MenuHelper();
List<Menu> lstMenu=mh.GetMenuList();
JSONArray jsonArray = JSONArray.fromObject(lstMenu);

生成的jsonArray 放在页面里,就是这样
[{},{},{},{},{},{},{},{},{},{},{}]

...全文
645 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
li_rt4 2018-03-04
  • 打赏
  • 举报
回复
引用 4 楼 losebaby 的回复:
如果不是Menu对象定义里缺少属性函数(getter、setter),要么就是List对象里是一堆null
确实是这个原因,要把Menu对象里每个属性加上getXXXXX()的方法。另外不能直接把List放到JSONArray.fromObject()里使用, 要先转换成数组就可以了: Menu menus[] =new Menu[lstMenu.size()-1]; for(int i=0;i<lstMenu.size()-1;i++) { menus[i]=(Menu)lstMenu.get(i); } JSONArray jsonArr=JSONArray.fromObject(menus); String jsonStr=jsonArr.toString(); modelView.addObject("menu",jsonStr);
li_rt4 2018-03-04
  • 打赏
  • 举报
回复
List中是有值的,只是值变了样子,并不是刚才创建Menu对象的那样,而是如下:

变成了[JL.BO.Define.Menu@574154a4, JL.BO.Define.Menu@21c07bd,....
十八道胡同 2018-02-24
  • 打赏
  • 举报
回复
mh.GetMenuList(); 里面有值不?
  • 打赏
  • 举报
回复
为什么不DEBUG一下呢?
  • 打赏
  • 举报
回复
List里面的对象元素中没有值啊,
可乐罐 2018-02-24
  • 打赏
  • 举报
回复
如果不是Menu对象定义里缺少属性函数(getter、setter),要么就是List对象里是一堆null

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧