在 JS 语言中,一切都是对象
。
因此,任何支持的类型都可以通过 JSON 来表示,例如字符串、数字、对象、数组等。但是对象和数组是比较特殊且常用的两种类型:
对象表示为键值对
-
数据由逗号分隔
-
-
花括号保存对象
-
-
方括号保存数组
JS向servlet发送数据:dataType:"json".
1.导入jar包:json.org.jar,json-2.2.1.jar
JS:
function Check() {
var str={"name":"cl"};
var obj={
"id":"19",
"name":"cl",
"pwd":"long",
"request":str
}
//转换成json数组
//var json=$.toJSON(obj);
$.ajax({
url:"./Check",
type:"POST",
data:JSON.stringify(obj),//obj序列化为JSON字符串
dataType:"json",
//通过 ajaxComplete() 方法规定的函数将在请求完成时运行,即使请求并未成功。
complete:function(data){
//eval将传回对象转换json对象
var s=eval("("+data.responseText+")");
document.getElementById("show").innerHTML=s.result;
},
});
}
SERVLET:
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { StringBuffer json=new StringBuffer();
BufferedReader reader=new BufferedReader(new InputStreamReader(request.getInputStream()));String line=null;while((line=reader.readLine())!=null){json.append(line);} System.out.println(json.toString()); //将json字符串转换为json对象 JSONObject j=JSONObject.fromObject(json.toString());//.toString System.out.println(j.get("id")); //处理中文问题 request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); }//读取返回到jsp页面的json。
这里就将js发送的值接收到。