AJAX和Json

AJAX

1. 概念:

  • Asynchronous Javascript And XML, 异步的JavaScript 和XML。
  • 异步和同步:
    1. 同步:客户端等待服务器端的响应期间,不能做其他操作。
    2. 异步:客户端等待服务器端的响应期间,在服务器处理请求的过程中,可以做其他操作。

是指一种创建交互式、快速动态网页应用的网页开发技术,无需重新加载整个网页的情况下,能够更新部分网页的技术。

通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

提升用户体验。

2. 实现方式:

  1. 原生的JS实现方式

      1. 创建核心对象
      2. 建立连接
        • xmlhttp.open("GET","ajaxServlet?username=tom",true);
        • 三个参数分别为请求方式,请求路径,同步或异步请求,true为异步,false为同步。
        • 请求路径中,若是get方式,参数直接写在后面,send发送请求时参数为空,若为post,参数则在send发送请求时传递。
      3. 发送请求
        • xmlhttp.send();
      4. 接受并处理来自服务器的响应结果,服务器响应成功后再获取。
  2. JQuery的实现方式

    1. $.ajax()

          $.ajax({
          url:"/javaweb_AJAX_war_exploded/ajaxServlet",
          type:"POST",
          //date:"username=jack&age=23",
          data:{"username":"jack",age:23},
          success:function (name) {
              alert(name);
          }
      })
      • 一些常用的键值对:
        • url:请求路径
        • type:请求方式
        • data:请求参数
        • success:响应成功后的回调函数
        • error:响应失败后的回调函数
        • dataType:接收到的响应数据的格式
    2. $.get():发送get请求

      • $.get(url, [data], [callback], [type])

        • url:请求路径

        • data:请求参数

        • callback:会调函数

        • type:响应结果的类型

                  $.get("/javaweb_AJAX_war_exploded/ajaxServlet",{username:"jack",age:23},function (name) {
              alert(name);
          })
    3. $.post():发送post请求

          $.post("/javaweb_AJAX_war_exploded/ajaxServlet",{username:"rose",age:23},function (name) {
          alert(name);
      })

JSON

1. 概念

Javascript Object Notation, Javascript对象表示法。

  • var p = {“name”:”张三”,”age”:23,”gender”:”男”}

  • 现在多用于存储和交换文本信息的语法

  • 进行数据的传输

  • 比xml更小,更快,更易解析

2. 语法

  1. 基本规则:

    1. 数据在名称/键值对中:json数据是由键值对构成

      • 键用引号引起来,也可以不使用引号
      • 值的取值类型:
        1. 数字(整数或浮点数)
        2. 字符串(在双引号中)
        3. 逻辑值
        4. 数组(在方括号中)
        5. 对象(在花括号中)
        6. null
    2. 数据由逗号分隔:多个键值对由逗号分割

    3. 花括号保存对象:使用大括号定义json格式

    4. 方括号保存数组:数据中可以有数组

  2. 获取数据

    1. json对象.键名
    2. json对象[“键名”]
    3. 数组对象[索引]

java对象转json

  • JSON解析器

    • 常见的解析器:Jsonlib,Gson,fastjson,jackson
  • jackson使用步骤:

    1. 导入相关的jar包
    2. 创建jackson核心对象ObjectMapper
    3. 使用ObjectMapper的相关方法进行转换
      • objectMapper.writeValueAsString();会将对象转换为一个json字符串
      • objectMapper.writeValue(参数,Java对象);会将java对象转换为json对象并且保存在参数中,参数可以是文件或者字节输出流或者字符输出流或者其他的
  • 注解:

    1. @JsonIgnore:排除属性
    2. @JsonFormat:属性值格式化
  • 复杂java对象转换

    1. list:数组
    2. map:和对象格式一致

json转java对象

  • 方法:readValue(json字符串数据,Class类型)
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!

请我喝杯咖啡吧~

支付宝
微信