Json 本身就是字符串
语法:
1, Json是java提供的一种数据交换格式
2,Json的语法:
{}:是对象
>属性名必须使用双引号,单引号不行!!!
>属性值:
null || 数值 ||字符串 || 数组 用【】 括起来 boolean值 true fasle
eval()--->eval() 函数可计算某个字符串,并执行其中的的 JavaScript 代码。
数据交换起来比较方便
代码示范:
package com.sxjyatc.JsonDemo;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Json1 extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
String person="{\"username\":\"zhangsan\",\"age\":\"18\"}";
resp.getWriter().print(person);
}
}
JSP页面:
<script type="text/javascript">
/*创建异步对象*/
function createXMLHttpRequest(){
try {
return new XMLHttpRequest();
} catch (e) {
try {
return ActvieXObject("Msxm12.XMLHTTP");
} catch (e) {
try {
return ActvieXObject("Microsoft.XMLHTTP");
} catch (e) {
alert("浏览器不匹配");
}
}
}
};
window.onload =function(){
var btn = document.getElementById("btn");
btn.onclick =function(){
//得到对象
var xmlHttp = createXMLHttpRequest();
//建立连接
xmlHttp.open("get","<c:url value='/Json111'/>",true);
//发送请求
xmlHttp.send(null);
//被请求
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4&&xmlHttp.status==200){
var text =xmlHttp.responseText;
var person = eval("("+text+")");
var s = person.username+" "+person.age;
var h1 = document.getElementById("h1");
h1.innerHTML=s;
}
};
};
};
</script>
<body>
<h1>Json与后台应用</h1>
<button id="btn">ssss</button>
<h1 id="h1"></h1>
</body>
json 相对于 xml 来说 使用确实方便很多。但是可读性很差!
遇到的问题 eval() getElementById() 等方法不熟悉