目录
又是一天学习的开始,玩了几天了,今天复习一哈前几天看的内容,针对json简单的学习记录
具体内容参考视频学习:https://edu.aliyun.com/roadmap/java
11- json
what is it?
它是 js 提供的一种数据交换格式;
语法:
-
{ } :是对象;
-
属性名必须用双引号括起来;
-
属性值:
-
null
-
数值
-
字符串
-
数组:【】
-
Boolean:true & false
-
var person = {
"name": "JasonCH",
"age": 19,
"sex": "male",
"addr": "xxxxxxxx"
};
// 其中 对 eval的函数的使用 对 str 进行解析 为 person对象;
通过 servlet 响应json数据:
String json = "{\"name\":\"JasonCH\",\"age\":19}";
System.out.println(json);
response.getWriter().print(json);//
x.jsp 文件内容如下:
<%--
Created by IntelliJ IDEA.
User: Lenovo
Date: 2021/6/15
Time: 22:38
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>json</title>
<script type="text/javascript">
function createXMLHttpRequest(){// 创建异步对象
try {
return new XMLHttpRequest();
}catch (e) {
try {
return new ActiveXObject("Msxml2.XMLHTTP");
}catch (e) {
try {
return new ActiveXObject("Microsoft.XMLHTTP");
}catch (e) {
alert("error!!!!!!!!!!!!!!");
}
}
}
}
window.onload = function () {
var btn = document.getElementById("btn");
btn.onclick = function () {
// 四部操作:ajax
var xmlHttp = createXMLHttpRequest();
xmlHttp.open("get","<c:url value="/jsonServlet"/>",true);
xmlHttp.send(null);// none;
xmlHttp.onreadystatechange = function () {
if(xmlHttp.readyState === 4 && xmlHttp.status===200){
var jsonData = xmlHttp.responseText;
var person = eval("("+jsonData+")");
var s = person.name+", "+person.age;
document.getElementById("jsonShow").innerHTML = s;
}
};
};
}
</script>
</head>
<body>
<button id="btn">click here to show the json data</button>
<h1 id="jsonShow"></h1>
</body>
</html>
json与xml 的比较:
-
可读性,xml 较好;
-
解析 难度:json本身就是js对象,更容易解析;
-
流行度:在ajax邻域,更多用json;
12- json-lib
-
可以把javabean 对象 转换成 json 串;
-
jar包;
-
核心类:
-
JSONObject --> Map -> toString ( ) ;
-
JSONObject.fromObject ( person );
-
-
JSONArray --> List -> toString ( ) ; 和list 用法差不多噢;
-
package JSON;
import JavaBean.city_province.city;
import net.sf.json.JSONObject;
import org.junit.Test;
public class jsonToolsLearn {
@Test
public void func(){
JSONObject map = new JSONObject();// 这里注意可能会出现版本问题报错;
map.put("name","Jason");
map.put("age",19);
System.out.println(map.toString());
city ct = new city("Beijing","description");
JSONObject map1 = JSONObject.fromObject(ct);
System.out.println(map1);
}
}