前提:
选择用JSON格式传输数据时,在web项目中需要引入6个jar包:
commons-beanutils-1.7.0.jar
commons-collections-3.2.1.jar
commons-lang-2.6.jar
commons-logging-1.1.3.jar
ezmorph-1.0.6.jar
json-lib-2.4-jdk15.jar
前端js:
function analyse(){
var first = $("#firstch").val();
var str = $("#str").val();
var analyse_str = $("#analyse_str").val();
var json = {
"first":first,
"str":str,
"analyse_str":analyse_str
};
$.ajax({
type:'post',
url:'LrStr',
data: {"mes": JSON.stringify(json)},
success:function(data){
var obj = JSON.parse(data);
document.getElementById("table").innerHTML=obj.table;
}
});
}
这里的success:function(data){…}函数处理从后端发送的JSON数据。
因为在数据传输过程中,是字符串格式,所以在得到数据后要进行相应的JSON解析,
JSON.stringify(json)把js对象转换成JSON字符串,便于发送给后端;
JSON.parse(data) 是对得到的JSON字符串转换成对象,便于前端操作。
得到的数据放在前端指定位置处即可。
后端Servlet:
String pama = request.getParameter("mes");
JSONObject jo = JSONObject.fromObject(pama);
Map<String, Object> map =jo;
String str = (String) map.get("str");
String firstch = (String) map.get("first");
String analyse_str = (String) map.get("analyse_str");
后端解析JSON字符串,利用Map的(key,value)对JSON数据进行转化,然后get()方法即可得到相应的数据。