Ajax和Json

1. Ajax概述

Ajax: Asyncronous javascript and xml, 主要特点, 传统同步方式每次请求整个浏览器页面,浪费网络资源, 使用Ajax可以做到异步请求页面的部分数据. 当前浏览器内部都有一个ajax引擎, ajax引擎对象
XMLHttpRequest,

在这里插入图片描述

2. 原生的ajax

弊端: 原生的ajax不支持跨浏览器的兼容性; 使用方法如下截图简介
在这里插入图片描述在这里插入图片描述

3. jQuery的ajax请求

  1. jQuery的ajax请求-GET, post请求只要将下面的get改为post即可,其他不变.
    在这里插入图片描述

  2. ajax的底层函数:
    $.get , . p o s t 是 a j a x 的 上 层 函 数 , 调 用 的 是 .post是ajax的上层函数 , 调用的是 .postajax,.ajax底层函数, 底层函数方法签名更多更灵活,
    ajax底层寒素格式如下:
    $.ajax({
    url:"/ajaxServlet",
    data:“name=lisi”,
    success:function(data){
    },
    error:function(data){
    }
    dataType:“text”,
    type:“POST”
    });

4. JSON

4.1 概述

JSON: JavaScript Object Notation (js对象标记), 是一种轻量级的数据交换格式, 轻量级意思是不依赖操作系统, 在浏览器运行;
当前JSON已经是服务器和浏览器客户端交互的主要数据格式了, 也就是说服务器要把数据转换为JSON格式发给浏览器,浏览器发JSON格式数据给服务器 ;

4.2 JSON格式

三种:
对象类型: {name:value,name:value,name:value} name是字符串类型, value是任意类型

数组类型: [value,value,value] 其中value为任意类型

混合类型: [{},{},] 或 {name:[],name:[]} 即数组中有对象,对象中有数组

举例:
(1) 取出json对象的数据
var person={“firstname”:“三”, “lastname”:“张”, “age”:20};
console.log(person.firstname); //获取三

(2)取出json数组的数据
var json=[“刘备”,“张飞”,“关羽”];
console.log(json[0]); //取出刘备
console.log(json[1]); //取出张飞

(3)取出json数组嵌套对象的数据
var json=[
{“firstname”:“三”, “lastname”:“张”, “age”:20},
{“firstname”:“敏”, “lastname”:“赵”, “age”:21}
]
console.log(json[0].lastname) ; //获取张

4.3 java格式转换为json格式

导入jacson jar包, maven中的jar包依赖配置为:

com.fasterxml.jackson.core
jackson-databind
2.9.0

一个对象和一个方法:
ObjectMapper objectMapper=new ObjectMapper();
String json=objectMapper.writeValueAsString(“传入数组/对象/list集合/map集合”);

两个命令就完成了 数组/对象/list集合/map集合 转换成json格式的字符穿了,很方便;

下面是几个举例:
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.4 json格式转换为java格式

一个对象和一个方法
ObjectMapper objectMapper=new ObjectMapper();
objectMapper.readValue(json,Person.class);
objectMapper.readValue(json,String[].class);
objectMapper.readValue(json,new TypeReference<List>(){});
objectMapper.readValue(json,new TypeReference<Map<String,Person>>(){});

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值