json 对象post 请求怎样写类型转换器才能注入到struts 的List<Object>中 本帖最后由 aba6421137 于 2014-11-19 10:37:20 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //可以在这个方法里处理下,首先看看这个方法实际上传进来的是什么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字符串解析为具体的对象 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); 先在addGoodsAttributes方法中得到attrJson ,这里可以用string得到这个json格式的数据,然后用得到的string转化成jsonObject得到里面的参数,再加入到你的list中去就好了 看下这个,将json转化为对象http://blog.csdn.net/caesardadi/article/details/11985183 可以到后台把json解析为对象,json的提交一般不用属性映射。 你i转化为字符串啊。 后天json 再转对象。 用第三方的解析工具就可以了,比如fast-json,或者Gson或者json-lib都可以的 如何将java解析成xml? XSLT转换 为何多出一空格 约会成功,先散100 text与file一起上传,怎么样在服务器端保证取text的值不出现中文乱码 一个浏览器刷新的问题????????? spring 事务处理问题 如何让客户端认识EJB中的接口? client 访问ejb时的错!help! 祝大家圣诞快乐! 来自弱鸡的每日一问 Hibernate4+springmvc4 aop配置事务不回滚。100%结贴,在线等,急急急急.... 关于Mybatis的小问题~
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字符串解析为具体的对象
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);
得到里面的参数,再加入到你的list中去就好了
http://blog.csdn.net/caesardadi/article/details/11985183