目录
一、Ajax
1、概述
2、通过 JQuery 实现Ajax
二、JSON
1、概述
2、JSON对象语法
3、JSON 数据和 Java 数据相互转换
一、Ajax
1、概述
Ajax(ASynchronous JavaScript And XML),即:异步的 JavaScript 和 XML。Ajax 是一种异步请求技术,它可以通过使用Javascript语言与服务器进行异步交互,传输少量的数据,使页面达到局部刷新的效果。
- 同步:客户端发送一个请求后,必须等待服务器响应完成后才能进行下一次请求
- 异步:客户端发送一个请求后,无需等待服务器响应完成后就可以进行下一次请求
2、通过 JQuery 实现Ajax
JQuery 有三种实现 Ajax 的方式:
- $.ajax(): $.ajax(url,type,data,success(resp,status,xhr),dataType)
- $.get(): $.get(url,data,success(resp,status,xhr),dataType)
- $.post():$.post(url,data,success(resp,status,xhr),dataType)
<!DOCTYPE HTML>
<html>
<head>
<title>Document</title>
<script type="text/javascript" src="/js/jquery-3.6.1.js"></script>
<script type="text/javascript">
$(function(){
$("#btn").click(function(){
//$.ajax()方式
$.ajax({
url:"AServlet",//请求路径
type:"GET",//请求方式
data:{"name":"张三"},//请求参数
dataType:"text",//响应数据类型
success:function(data){//响应成功后的回调函数
alert(data);
},
error:function () {//响应失败后的回调函数
alert("error!");
}
});
//$.get()方式
$.get("AServlet",{name:"张三"},function (data) {
alert(data);
},"text");
//$.post()方式
$.post("AServlet",{name:"张三"},function (data) {
alert(data);
},"text");
});
});
</script>
</head>
<body>
<input type="button" value="发送AJAX" id="btn" />
</body>
</html>
二、JSON
1、概述
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它相比于 xml 读写速度更快,更加简短,并且支持数组。
2、JSON对象语法
2.1 JSON 语法:
- 数据以键值对构成
- 数据由逗号分隔
- 花括号保存对象
- 方括号保存数组
2.2 JSON值:
- 数字(整数或浮点数)
- 字符串(在双引号中)
- 逻辑值(true 或 false)
- 数组(在方括号中)
- 对象(在花括号中)
- null
//基本格式
let person = {"name":"张三","age":18,"hobby":["run","swim"]};
alert(person.name + ", " + person.age + ", " + person.hobby);
//嵌套格式(对象数组)
let persons = [
{"name":"张三","age":18,"hobby":["run","swim"]},
{"name":"李四","age":19,"hobby":["run","swim"]},
{"name":"王五","age":20,"hobby":["run","swim"]}
]
//嵌套格式(多个对象数组)
let persons2 = [
persons:[
{"name":"张三","age":18,"hobby":["run","swim"]},
{"name":"李四","age":19,"hobby":["run","swim"]},
{"name":"王五","age":20,"hobby":["run","swim"]}
]
]
3、JSON 数据和 Java 数据相互转换
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
fastjson
的使用主要是三个对象:
- JSON
- JSONObject
- JSONArray
JSON对象
常用方法:
T parseObject(String text, Class<T> clazz) //把json转换为一个java对象
JSONObject parseObject(String text) // 把json转换为一个JSONObject对象
List<T> parseArray(String text, Class<T> clazz) //把json转换为一个List集合
JSONArray parseArray(String text) //把json转换为一个JSONArray对象
String toJSONString(Object object) //把一个java对象转换为json格式的字符串
JSONObject
JSON对象(JSONObject)中的数据都是以key-value
形式出现,所以它实现了Map
接口:
常用方法:
JSONArray
JSONArray则是JSON数组,JSON数组对象中存储的是一个个JSON对象,所以类中的方法主要用于直接操作JSON对象
常用方法:
Person person = new Person("张三",18,);
//把java对象转换为json字符串
String json = JSON.toJSONString(person);
System.out.println(json);