分享

递归输出json格式示例

 怀旧妞妞 2011-01-21
public static void main(String[] args) {
  MenuInfo menuInfo = new MenuInfo();
  menuInfo.setMid(1);
  menuInfo.setName("root");
  menuInfo.setUrl("rootUrl");
  menuInfo.setHmid(0);
  MenuInfo menuInfo1 = new MenuInfo();
  menuInfo1.setMid(2);
  menuInfo1.setName("root_1");
  menuInfo1.setUrl("rootUrl_1");
  menuInfo1.setHmid(1);
  MenuInfo menuInfo2 = new MenuInfo();
  menuInfo2.setMid(3);
  menuInfo2.setName("root_1");
  menuInfo2.setUrl("rootUrl_2");
  menuInfo2.setHmid(1);
  MenuInfo menuInfo3 = new MenuInfo();
  menuInfo3.setMid(4);
  menuInfo3.setName("root_2");
  menuInfo3.setUrl("rootUr2_1");
  menuInfo3.setHmid(2);
  List list = new ArrayList();
  list.add(menuInfo3);
  list.add(menuInfo2);
  list.add(menuInfo1);
  list.add(menuInfo);
  
  List<MenuInfo> list2 = new ArrayList<MenuInfo>();
  list2.add(menuInfo);
  String string = new Test().test(list2,list);
  System.out.println(string);
 }
  private String test(List<MenuInfo> object,List<MenuInfo> list ){
      StringBuffer buffer = new StringBuffer();
      for(int i=0;i<object.size();i++){
       MenuInfo menuInfo = object.get(i);
       buffer.append("text:"+menuInfo.getName()+"  ");
       buffer.append("url:"+menuInfo.getUrl()+"  ");
       buffer.append("item:");
       List list2  = this.get(list,menuInfo.getMid());
       if(list2.size()>0){
        System.out.println(menuInfo.getName());
        buffer.append("(");
        buffer.append(this.test(list2,list));
        buffer.append(")");
       }
      }
      String resultString  =  buffer.toString();
      resultString=resultString.charAt(resultString.length() - 1) == ','?resultString.substring(0,resultString.length()-1):resultString;
      return resultString;
     }
  private List<MenuInfo> get(List<MenuInfo> list, long id){
   List<MenuInfo> list1 = new ArrayList<MenuInfo>();
   for(int i=0;i<list.size();i++){
    if(list.get(i).getHmid() ==id){
     list1.add(list.get(i));
    }
   }
   return list1;
  }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多