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);