对象转换
Student student = new Student("张三",18);
Student student1 = new Student();
BeanUtils.copyProperties(student,student1);
System.out.println(student1);
Student(name=张三, age=18)
集合转换
List<Student> students = Arrays.asList(new Student("张三",18),new Student("李四",20));
List<Student> students1 = new ArrayList<>();
students1 = JSONObject.parseArray(JSON.toJSONString(students), Student.class);
System.out.println(students1);
[Student(name=张三, age=18), Student(name=李四, age=20)]
补充:
如果集合转化的时候,字段名称不同怎么办,可以使用注解@JSONField(name = "dataField")进行映射,例如:
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
public class Student {
private String name;
private Integer age;
public Student(String name, Integer age) {
this.name = name;
this.age = age;
}
}
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@NoArgsConstructor
public class StudentDemo {
@JSONField(name = "name")
private String studentName;
private Integer age;
public StudentDemo(String studentName, Integer age) {
this.studentName = studentName;
this.age = age;
}
}
List<Student> students = Arrays.asList(new Student("张三",18),new Student("李四",20));
List<StudentDemo> students1 = new ArrayList<>();
students1 = JSONObject.parseArray(JSON.toJSONString(students), StudentDemo.class);
System.out.println(students1);
结果:
[StudentDemo(studentName=张三, age=18), StudentDemo(studentName=李四, age=20)]