ArrayList arrayList = [{a=1,b=2},{a=3,b=4},{a=5,b=6},{a=7,b=8}];
String str = arrayList.toString;
现在又想把String str 解析成list,然后取出一个个的map,在解析map。

解决方案 »

  1.   

    ...额   不是吧?list里放map然后因为传输变成了String类型,拿到手后解析出来。哪里不对?
      

  2.   

    如果字符串符合json格式,用Json很方便
      

  3.   

    传过来是json,格式是{“reg”:"[{a=1,b=2},{a=3,b=4},{a=5,b=6}]"},然后我把他转换成了map,,,String str = map.get("reg").toString;    取出来的就是String类型的list,list里面是map,解析不下去了
      

  4.   

    可以去看下 JSONObject 和 JSONArray
      

  5.   

    传过来是json,格式是{“reg”:"[{a=1,b=2},{a=3,b=4},{a=5,b=6}]"},然后我把他转换成了map,,,String str = map.get("reg").toString;    取出来的就是String类型的list,list里面是map,解析不下去了reg里面的就是Array了
      

  6.   

    传过来是json,格式是{“reg”:"[{a=1,b=2},{a=3,b=4},{a=5,b=6}]"},然后我把他转换成了map,,,String str = map.get("reg").toString;    取出来的就是String类型的list,list里面是map,解析不下去了reg里面的就是Array了不是的,直接取出来用ArrayList接收强转的话提示错误,出来的的话就是String类型
      

  7.   

    额  那边发给我的是json但是只有一个键,value里是list,list是map,但是list目前是string类型
      

  8.   

    传过来是json,格式是{“reg”:"[{a=1,b=2},{a=3,b=4},{a=5,b=6}]"},然后我把他转换成了map,,,String str = map.get("reg").toString;    取出来的就是String类型的list,list里面是map,解析不下去了reg里面的就是Array了不是的,直接取出来用ArrayList接收强转的话提示错误,出来的的话就是String类型"[{a=1,b=2},{a=3,b=4},{a=5,b=6}]" 这种格式在JSON中只代表字符串,无法直接转化,
    正确的格式应该去掉两边的引号:[{a=1,b=2},{a=3,b=4},{a=5,b=6}],这代表一个Array,
    另外,a=1这种格式也不是有效的JSON格式吧。
      

  9.   

    json只有两种对象,花括号{}里边是JSONObject,方括号[]里边是JSONArray
    一般处理json的包肯定都支持
      

  10.   

    传过来是json,格式是{“reg”:"[{a=1,b=2},{a=3,b=4},{a=5,b=6}]"},然后我把他转换成了map,,,String str = map.get("reg").toString;    取出来的就是String类型的list,list里面是map,解析不下去了reg里面的就是Array了不是的,直接取出来用ArrayList接收强转的话提示错误,出来的的话就是String类型"[{a=1,b=2},{a=3,b=4},{a=5,b=6}]" 这种格式在JSON中只代表字符串,无法直接转化,
    正确的格式应该去掉两边的引号:[{a=1,b=2},{a=3,b=4},{a=5,b=6}],这代表一个Array,
    另外,a=1这种格式也不是有效的JSON格式吧。
      解决了   ==!哈哈   不是json了。看楼下我发的解决代码,还是谢谢您的回复
      

  11.   

    写成了一个方法,就把string类型的list(list里面是map),出来后就是list,遍历都没问题public List strArrayListMap(String str){
    List lists =new ArrayList();
    if (str != null) { String s = str.replaceAll("\\[([^\\]]*)\\]", "$1");

    String[] arr = s.replace(" ", "").split("},");

    for(String temp : arr){
    temp=temp.replaceAll("\\[", "")
     .replaceAll("\\]", "")
     .replaceAll("\\{", "")
     .replaceAll("\\}", "");

    HashMap map=new HashMap();

    String [] sb=temp.replace(" ", "").split("\\,");

    for(int a=0;a<sb.length;a++){
    map.put(sb[a].split("\\=")[0], sb[a].split("\\=")[1]);
    }
    lists.add(map);
    }
    // lists = java.util.Arrays.asList(arr);
    }
    return lists;
    }