本帖最后由 aba6421137 于 2014-11-19 10:37:20 编辑

解决方案 »

  1.   

    //可以在这个方法里处理下,首先看看这个方法实际上传进来的是什么
    public void setAttributeList(List<GoodsAttribute> attributeList) {
     List<GoodsAttribute> retList=new ArrayList<GoodsAttribute>();
     for(int i=0;i<attributeList.size();i++){
    Object obj = attributeList.get(i);
    //看看这个obj是什么,然后看看能不能把这个obj赋值给对应的GoodsAttribute
    //最后
    GoodsAttribute ga= new GoodsAttribute();
    ga.set……
    retList.add(ga);
     }
             this.attributeList  = retList;
         }2、直接传一个json字符串到后台,然后用第三方的JSON解析工具,把json字符串解析为具体的对象
      

  2.   

    List<Object> list1 = (List<Object>) JSONArray.toCollection(json);
    for (int i = 0;i<list1.size();i++) {
    JSONObject jsonObj = JSONObject.fromObject(list1.get(i)); 
    Map<String,String> mapobj = (Map<String, String>) JSONObject.toBean(jsonObj,HashMap.class);
    Long startTime = (long) 0;
    Long endTime = (long) 0;
    Long sysdate = Long.parseLong(sdf.format(new Date()));
    for (String jsonkey : mapobj.keySet()) {
    if(jsonkey.equals("topStartTime")){
    if(null != mapobj.get(jsonkey) && !"".equals(mapobj.get(jsonkey))){
    startTime = Long.parseLong(mapobj.get(jsonkey));
    }
    }
    if(jsonkey.equals("topEndTime")){
    if(null != mapobj.get(jsonkey) && !"".equals(mapobj.get(jsonkey))){
    endTime = Long.parseLong(mapobj.get(jsonkey));
    }
    }
    }
    if(sysdate >= startTime && sysdate <= endTime){
    list.add(list1.get(i));
    } else {
    list2.add(list1.get(i));
    }
    }
    list.addAll(list2);
      

  3.   

    先在addGoodsAttributes方法中得到attrJson ,这里可以用string得到这个json格式的数据,然后用得到的string转化成jsonObject
    得到里面的参数,再加入到你的list中去就好了
      

  4.   

    看下这个,将json转化为对象
    http://blog.csdn.net/caesardadi/article/details/11985183
      

  5.   

    可以到后台把json解析为对象,json的提交一般不用属性映射。
      

  6.   

    你i转化为字符串啊。  后天json 再转对象。 
      

  7.   

    用第三方的解析工具就可以了,比如fast-json,或者Gson或者json-lib都可以的