后台获取到的list是string类型的,值为:[{"id":1,"name":"同学1"},{"id":2,"name":"同学2"}]
两种:一种:Gson,二种:JSONArray
import java.lang.reflect.Type;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class OrderActionWX extends ActionSupport {
private String materialids;
public String getPriceList() {
log.debug("getPriceList action start");
try {
HttpServletRequest request = ServletActionContext.getRequest();
/*Gson gson=new Gson();
List<JsonDataDto> listJson=new ArrayList<JsonDataDto>();
Type listType=new TypeToken<ArrayList<JsonDataDto>>(){}.getType();
listJson=gson.fromJson(materialids, listType);*/ //第一种
JSONArray js = JSONArray.fromObject(this.materialids);
List<JsonDataDto> listJson = JSONArray.toList(js, JsonDataDto.class);//第二种
StringBuffer sbf = new StringBuffer();
if (listJson.size()>0) {
for (int i = 0; i < listJson.size(); i++) {
if (i == listJson.size() - 1) {
sbf.append(listJson.get(i).getId());
} else {
sbf.append(listJson.get(i).getId() + ",");
}
}
}
} catch (Exception e) {
log.error("getPriceList action fail", e);
e.printStackTrace();
}
return ActionSupport.SUCCESS;
}
public String getMaterialids() {
return materialids;
}
public void setMaterialids(String materialids) {
this.materialids = materialids;
}
}