前台能不能给后台传这样的json数据:一个json内有个值和一个json数组 请问前台给怎么传,后台该怎么接收

就是比如这样的一个json数据{"a":" ","b":" ","一个json数组":[{"x":" " , "y":" " , "z":" " },{"x":" " , "y":" " , "z":" " },{"x":" " , "y":" " , "z":" " }]}
我用的是springmvc, 最好能有具体代码,谢谢。

第1个回答  2016-07-06
你很懒。
第一步,封装json.
var jsonStr = [{'name':'jim' , 'age':20} , {'name':'king' , 'age':26},{'name':'jge' , 'age':30}]
第二部,ajax。
jQuery.ajax({
type: "post",
url: url,
dataType : 'json',
data : {'mydata':jsonStr},
success: function(data,textStatus){
alert("操作成功");
},error: function(xhr,status,errMsg){
alert("操作失败!");
}
});
第三部,后台方法接收。
String jsonStr = ServletActionContext.getRequest().getParameter("mydata");

JSONArray jsonArray = JSONArray.fromObject(jsonStr);

for(int i=0;i<jsonArray.length(); i++){
JSONObject jsonJ = jsonArray.getJSONObject(i);
jsonJ.getInt("name");
jsonJ.getString("age");

}

.......ok不。追问

最外层是一个json数据,里面才包含一些key/value的值和一个json数组,这样我就不知道该怎么封装和解析了.....求大神再写写 谢谢谢谢谢!!

追答

你的意思是josn里是键值对,还有个josn数组吧?josn数组和那些键值对是平级的?那为啥不把键值对单独封装一个josn,josn数组是个josn. 传参时data : {'mydata':jsonStr},多加个参数不就好了。 也就是说,你的A B封装一个josn,你的那些XZY是个josn。。。

追问

哦,对哦,灰常感谢!!

本回答被提问者采纳
相似回答