AJAX学习文档

  • 格式:pdf
  • 大小:184.19 KB
  • 文档页数:7

AJAX学习⽂档

Author:Exchanges

Version:9.0.2

⼀、引⾔

1.1 什么是JSON

JSON(JavaScript Object Notation, JS 对象标记) 是⼀种轻量级的数据交换格式。它基于 ECMAScript (W3C制定的JS规范)的⼀

个⼦集,采⽤完全独⽴于编程语⾔的⽂本格式来存储和表⽰数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语⾔。

易于⼈阅读和编写,同时也易于机器解析和⽣成,并有效地提升⽹络传输效率。

1.2 JSON语法

[] 表⽰数组

{} 表⽰对象

"" 表⽰是属性名或字符串类型的值

: 表⽰属性和值之间的间隔符

, 表⽰多个属性的间隔符或者是多个元素的间隔符

⼆、JSON解析【重点】

要解析的字符串:将字符串解析为Java对象

创建User类package com.qf.pojo;

import java.io.Serializable;

//实体类:符合JavaBean规范,然后实现序列化接⼝

public class User implements Serializable {

private Integer id;

private String username;

private String password;

public Integer getId() {

return id;

}

public void setId(Integer id) {

this.id = id;

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

@Override

public String toString() {

return "User{" +

"id=" + id +

", username='" + username + '\'' +

", password='" + password + '\'' +

'}';

}

}

2.1 FastJSON解析

Fastjson 是阿⾥巴巴开发的⼀个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为

Java 对象

导⼊jar包

提供了 toJSONString() 和 parseObject() ⽅法来将 Java 对象与 JSON 相互转换:

调⽤toJSONString⽅ 法即可将对象转换成 JSON 字符串

parseObject ⽅法则反过来将 JSON 字符串转换成对象。

Json和User对象之间的转换

//User对象和Json之间的转换

@Test

public void testFastJson1(){

//创建对象

User user = new User();

user.setId(1001);

user.setUsername("张三");

user.setPassword("123");

System.out.println(user);

//User对象 --> Json

String jsonUser = JSON.toJSONString(user);

System.out.println(jsonUser);

//Json --> User对象

User user1 = JSON.parseObject(jsonUser, User.class);

System.out.println(user1);

}

Json和List集合之间的转换,注:导⼊的类是import com.alibaba.fastjson.TypeReference;//User集合对象和Json之间的转换

@Test

public void testFastJson2(){

User user1 = new User();

user1.setId(1001);

user1.setUsername("张三");

user1.setPassword("123");

User user2 = new User();

user2.setId(1002);

user2.setUsername("李四");

user2.setPassword("456");

ArrayList users = new ArrayList<>();

users.add(user1);

users.add(user2);

System.out.println(users);

//List --> Json

String jsonUsers = JSON.toJSONString(users);

System.out.println(jsonUsers);

//Json --> List

List userList = JSON.parseObject(jsonUsers, new TypeReference>() {});

System.out.println(userList);

}

2.2 Jackson解析

Jackson 是⼀个能够将Java对象序列化为JSON字符串,也能够将JSON字符串反序列化为Java对象的框架;

导⼊jar包

通过⽅法readValue和writeValue实现;

Json和User对象之间的转换

//User对象和Json之间的转换

@Test

public void testJackson1()throws Exception{

User user = new User();

user.setId(1001);

user.setUsername("张三");

user.setPassword("123");

System.out.println(user);

//User对象 --> Json

ObjectMapper objectMapper = new ObjectMapper();

String jsonUser = objectMapper.writeValueAsString(user);

System.out.println(jsonUser);

//Json --> User对象

User user1 = objectMapper.readValue(jsonUser, User.class);

System.out.println(user1);

}

Json和List集合之间的转换,注:导⼊的类是import com.fasterxml.jackson.core.type.TypeReference;

//User集合对象和Json之间的转换

@Test

public void testJackson2()throws Exception{

User user1 = new User();

user1.setId(1001);

user1.setUsername("张三");

user1.setPassword("123");

User user2 = new User();

user2.setId(1002);

user2.setUsername("李四");

user2.setPassword("456");

ArrayList users = new ArrayList<>();

users.add(user1);

users.add(user2);

System.out.println(users);