Json和Java对象之间的转换
1、导入jar包(gson)
<!-- 将Java转化为json格式的数据 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.15</version>
</dependency>
2、创建测试类User
注:一般情况下,使用有参构造方法时,记得创建无参构造方法;生成get和set方法,便于代码的规范和框架的使用。
/**
* @author wenhua
* @date 2022年04月12日 9:55
*/
public class User {
private String name;// 姓名
private char sex;// 性别
private int age;// 年龄
public User() {
}
public User(String name, char sex, int age) {
this.name = name;
this.sex = sex;
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public void setSex(char sex) {
this.sex = sex;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public char getSex() {
return sex;
}
public int getAge() {
return age;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", sex=" + sex +
", age=" + age +
'}';
}
}
3、数据转换测试类
import com.alibaba.fastjson.JSON;
/**
* @author wenhua
* @date 2022年04月12日 10:01
*/
public class test {
public static void main(String[] args) {
// 创建Java对象,通过有参构造方法设置参数
User user = new User("wenhua",'男',22);
System.out.println(user);// 控制台打印输出Java对象(重写了toString())
// 将Java对象转化为json数据格式
String str = JSON.toJSONString(user);// 注意在进行Java对象转化为json数据格式时Java对象类必须有get()方法
System.out.println(str);// 控制台打印输出json格式数据
// 将json格式数据转化为Java对象
User user1 = JSON.parseObject(str,User.class);// 注意在进行json数据转化是Java对象时Java对象类必须有set()方法
System.out.println(user1);
}
}
4、运行结果
User{name='wenhua', sex=男, age=22}
{"age":22,"name":"wenhua","sex":"男"}
User{name='wenhua', sex=男, age=22}
虽然今天博客内容比较简单,但基础知识我们更应该掌握,为后期的代码优化,程序编写扫清障碍,于此同时明白该技术解决了什么问题,什么时候用技术以及该技术的优点和弊端分别是什么,只有这样才能编写高质量的代码。