var chk_value =[];
$('input[name="zd_resourcecb"]:checked').each(function(){
chk_value.push($(this).val());
});
var chk_values = JSON.stringify(chk_value);
jsp是这么写的 不过得到的是JSON字符串 ,我想要得到java类型的字符串或是数组什么的
字符串反序列化为对象就行了
http://www.cnblogs.com/xdp-gacl/p/3777987.html
你是需要把他传到后台,还是就在前台进行操作,如果是前台的话,可以这样:字符串转对象(strJSON代表json字符串)
var obj = eval(strJSON);
var obj = strJSON.parseJSON();
var obj = JSON.parse(strJSON);
json对象转字符串(obj代表json对象)
var str = obj.toJSONString();
var str = JSON.stringify(obj)
运用时候需要除了eval()以外需要json.js包。
如果是传到后台的话就更简单了,直接用java序列化就可以了。不用我说吧。自己百度去
那你可以不要用JSON的插件,自己将chk值组成你想要的字符串就可以了。
如果不能解决,可以说说你具体的需求。
这就要看你后台解析用什么工具包了,jsonlib.jar JSONArray array = new JSONArray("前台传过来的字符串") 这样就是一个json数组了
上面有错误! JSONArray array = JSONArray.fromObject ("前台传过来的字符串")
可以用Jackson
JSON.stringify和JSON.parse
直接.toString不就行了
如果你要解析成每一个字符串,请用GSON解析,百度搜索GSON看,或者fasterJson
// 需要在项目添加 json.jar
String reqBody = "前台传过来的JSON";
// 用org.json.JSONObject处理
JSONObject jsonObject = new JSONObject(reqBody);
// 用key获取值
String appKey = (String)jsonObject.get("AppKey");
如果是传到controller的话,这边有个示例
var checkedList = new Array();
checkedList.push({id: $(this).val()});
$.ajax({
type:"POST",
contentType:"application/json",
url:"/message/delmessage",
dataType:"json",
data: JSON.stringify(checkedList),
success:function(data){
getall(current);
}
});
//controller
@RequestMapping(value = "/message/delmessage",method = RequestMethod.POST)
public ModelAndView delMessage(@RequestBody List body,HttpServletRequest request){
Long accountid=(Long) WebUtils.getSessionAttribute(request, UserService.TOKEN);
List list = new ArrayList();
for(Iterator it = body.iterator(); it.hasNext();){
NwMessage message = (NwMessage)it.next();
if(null != message.getId()){
message.setReceiver(accountid);//只能删除自己的消息
list.add(message);
}
}
try{
messageService.delMsg(list);
}catch (Exception e){
e.printStackTrace();
return jsonView(501,"delete failure !");
}
return jsonView(200,"zzz");
}
//service
@Transactional
public void delMsg(List<NwMessage> list){
for(Iterator it= list.iterator();it.hasNext();){
NwMessage delMsg = (NwMessage)it.next();
dao.delete(NwMessage.class,delMsg);
}
}
这边需要注意的是@RequestBody这个注解的使用,这里有详细的描述http://blog.csdn.net/z69183787/article/details/51072986
如果是传到controller的话,这边有个示例
var checkedList = new Array();
checkedList.push({id: $(this).val()});
$.ajax({
type:"POST",
contentType:"application/json",
url:"/message/delmessage",
dataType:"json",
data: JSON.stringify(checkedList),
success:function(data){
getall(current);
}
});
//controller
@RequestMapping(value = "/message/delmessage",method = RequestMethod.POST)
public ModelAndView delMessage(@RequestBody List body,HttpServletRequest request){
Long accountid=(Long) WebUtils.getSessionAttribute(request, UserService.TOKEN);
List list = new ArrayList();
for(Iterator it = body.iterator(); it.hasNext();){
NwMessage message = (NwMessage)it.next();
if(null != message.getId()){
message.setReceiver(accountid);//只能删除自己的消息
list.add(message);
}
}
try{
messageService.delMsg(list);
}catch (Exception e){
e.printStackTrace();
return jsonView(501,"delete failure !");
}
return jsonView(200,"zzz");
}
//service
@Transactional
public void delMsg(List<NwMessage> list){
for(Iterator it= list.iterator();it.hasNext();){
NwMessage delMsg = (NwMessage)it.next();
dao.delete(NwMessage.class,delMsg);
}
}
这边需要注意的是@RequestBody这个注解的使用,这里有详细的描述http://blog.csdn.net/z69183787/article/details/51072986
加我微信cuimiao147,帮你弄好,给我分,好多啊~~~