我有一个REST前端UI和基于Spring JPA的后端的实现。 在其中,我有一个这样的课程:
public class TaskInfo {
// 4 fields
private Parent parentList;
// 3 fields
// Getters and Setters
}
class Parent {
// Parent class code
}
当我尝试Response
时,我发现代替Parent
,我得到null
值。为什么这个Parent
对象没有被序列化?这有解决方法吗?或者我应该直接在此课程中包含Parent
的字段吗?
编辑:我正在使用杰克逊进行序列化。
答案 0 :(得分:0)
对我来说,下面的工作正常。我认为这相当于你问题中的代码
package jackson;
import java.io.IOException;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class TaskInfo {
public TaskInfo(String id, Parent parentList) {
super();
this.id = id;
this.parentList = parentList;
}
private String id;
private Parent parentList;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public Parent getParentList() {
return parentList;
}
public void setParentList(Parent parentList) {
this.parentList = parentList;
}
public static void main(String args[]) throws IOException {
Parent parent = new Parent("123");
TaskInfo taskInfo = new TaskInfo("taskID", parent);
String json = new ObjectMapper().writeValueAsString(taskInfo);
System.out.println(json);
}
}
class Parent {
public Parent(String parentId) {
this.parentId = parentId;
}
public String getParentId() {
return parentId;
}
public void setParentId(String parentId) {
this.parentId = parentId;
}
private String parentId;
// Parent class code
}
它打印以下输出
{ “ID”: “TASKID”, “parentList”:{ “parentId的”: “123”}}
我用杰克逊
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.7.1</version>
</dependency>
答案 1 :(得分:0)
它没有序列化,因为您的属性不公开。使属性公开并且有效。