数据在网络中以JSON数据进行传输,在前后端数据处理时需要进行数据转化,转化成JAVA对象。
1.导入坐标
pom.xml文件中导入fastjson库,该库可以实现Java对象与JSON字符串的相互转化
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.62</version>
</dependency>
2.JSON数据转化成Java对象
User user = JSON.parseObject(jsonstr , User.class);
3.Java对象转化成JSON数据
String jsonstr = JSON.toJSONString(obj);
实例:
1.定义User.java文件中创建User类,包含id、username、password三个字段
package json;
//创建User对象
public class User {
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.创建另外一个文件用于测试
package json;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
public class FastJsonDemo {
public static void main(String[] args) {
//将java对象转化为Json字符串
User user = new User();
user.setId(1);
user.setUsername("张三");
user.setPassword("123");
//Java对象转化成JSON数据
String jsonString = JSON.toJSONString(user);
System.out.println(jsonString);//{"id":1,"password":"123","username":"ljh"}
//将JSON字符串转化为Java对象
User user1 = JSON.parseObject("{\"id\":1,\"password\":\"123\",\"username\":\"张三\"}",User.class);
Integer id = user1.getId();
System.out.println(id);
System.out.println(user1);
}
}
输出结果:
根据JSON数据格式便可以在前后端之间进行数据传输。