1. 效果
2.前端 ajax请求
//10. 后台返回 更 复杂的 json格式数据 前段解析
//{"status": "101","msg": "操作成功","data": {"totalSize": "10","totalPage": "4","pageSize": "3","currentPage": "2","beanList": [{"name": "John","age": "25"}, {"name": "luck","age": "20"}]}}
$("#responmoreComplexJsonid").click(function(){
$.ajax({
url:'${pageContext.request.contextPath }/responMoreComplexJson.action',
type:'post',
success:function(data){
var obj = JSON.parse(data); //由JSON字符串转换为JSON对象
var needobj = obj.data.beanList;
for(var i = 0; i < needobj.length; i++){
alert(needobj[i].name + " " + needobj[i].age);
}
}
},'json')
});
3. 后台 ajax请求 不能返回 只能以流的形式返回
@RequestMapping("/responMoreComplexJson.action")
public void responMoreComplexJson(HttpServletResponse response ){
try {
StringBuffer sb = new StringBuffer();
sb.append("{");
sb.append("\"status\"");
sb.append(":");
sb.append("\"101\"");
sb.append(",");
sb.append("\"msg\"");
sb.append(":");
sb.append("\"操作成功\"");
sb.append(",");
sb.append("\"data\"");
sb.append(":");
sb.append("{");
sb.append("\"totalSize\":");
sb.append("\"10\"");
sb.append(",");
sb.append("\"totalPage\":");
sb.append("\"4\"");
sb.append(",");
sb.append("\"pageSize\": \"3\",\"currentPage\": \"2\",");
sb.append("\"beanList\":");
sb.append("[{\"name\": \"John\",\"age\": \"25\"}, {\"name\": \"luck\",\"age\": \"20\"}]");
sb.append("}}");
//输出流 对象
PrintWriter out = response.getWriter();
out.write(sb.toString());
} catch (IOException e) {
e.printStackTrace();
}
}