文章目录
- JOSN数据转换和解析
- 内容回顾
- Map 集合转成 JSON 字符串
- List 集合转换成 JSON 字符串
- Ajax 异步和同步
- 异步概念
- 同步概念
- 异步和同步区别
- 异步请求案例
- 同步请求
- 时间格式化
- 旧时间 api 格式化
- 格式化和解析的工具类
- JSTL 时间格式化
- JSTL 使用
JOSN数据转换和解析
内容回顾
ajax 异步请求
格式:
$.ajax({
url:"请求地址",
data:{},
type:"post/get",
async:true/false,
dataType:"text/json",
success:function(obj){ },
error:function(){}
})
$.post/get(
"请求地址",
{key:value,key:value}
function(obj){}
"text/json"
)
json
① json 对象
格式:{key:value,key:value}
json 对象.key --- 获取 value 值
② json 数组
格式:[元素,元素,元素,······]
json 数组[索引] -- 获取元素
③ 对象数组混合格式
格式:{[]} --- 对象数组
json 对象.key[索引] -- 获取对象数组中的值
[{}] --- 数组对象
json 数组[索引].key -- 获取数组对象中的值
Jackson 工具
Jackson 工具需要 3 个依赖包:jackson-databind,jackson-core,jacksonannotations;
① 对象转成 json 字符串
a. 创建 ObjectMapper 对象
b. 使用 ObjectMapper 对象提供的 writeVlaueAsString(object)
c. 将 json 字符响应给页面
Map 集合转成 JSON 字符串
Servlet
servlet 响应的结果
dao 层数据封装
jsp 页面
List 集合转换成 JSON 字符串
servlet 类
service 层
dao 层
jsp 页面
Ajax 异步和同步
异步概念
在同一个 jsp 页面中,可以存在多个 ajax,所有的 ajax 在进行请求发送时,没有固定
的先后顺序,并发执行的;
同步概念
多个请求有明显的先后顺序,按照 jsp 页面中书写的先后顺序执行;
异步和同步区别
在异步请求发送的时候,如果在某一个请求中需要另一个一个请求中的数据,此时不能保证一
定能够获取;
同步请求时,后一个请求一定能够获取前一个请求中的数据;
同步和异步都是使用请求中的属性:async,将其值设置为 true 时,表示异步;设置为
false 表示同步;
异步请求案例
jsp 页面
执行结果
小结
从执行结果中可以看出,异步请求不是按照书写的先后顺序执行的; 如果想要请求按照先后顺序执行,那么就需要将请求设置为同步;
同步请求
时间格式化
旧时间 api 格式化
项目中用来表示日期类型如果是 java.util.Date 类型,那么在进行时间显示时需要使用
SimpleDateFormat 进行时间的格式化;
① 创建 SimpleDateFormat 对象
② 使用 format 方法进行格式化
同理有的时候也需要进行字符串解析为时间格式,使用 parse 方法
格式化和解析的工具类
使用工具类进行格式化,需要在查询或者添加数据时对数据先进行格式化或者或者解析,再进
行数据操作;使用起来相对麻烦;
建议使用 JSTL 提供的格式化工具进行时间格式化;
JSTL 时间格式化
引入 JSTL 的核心标签库和格式化工具
JSTL 使用
servlet 类
dao 层