Java Jackson:父类属性被忽略:将json反序列化为数据
我正在尝试将JSON(myJson.JSON)对象转换为Java类 使用以下代码 但是上面的Java Jackson:父类属性被忽略:将json反序列化为数据,java,json,jackson,Java,Json,Jackson,我正在尝试将JSON(myJson.JSON)对象转换为Java类 使用以下代码 但是上面的ObjectMapper无法将父类(StudentDTO)映射到类属性(loggedInUser、createdBy等)。 是否有可以映射父类属性的@注释 欢迎提出任何建议 我有以下内容-StudentInfoDTO、AddressDTO、StudentDTO、skillsdo和myJson.json 学生信息发送至: public class StudentInfoDTO extends Student
ObjectMapper
无法将父类(StudentDTO)映射到类属性(loggedInUser、createdBy等)。
是否有可以映射父类属性的@注释
欢迎提出任何建议
我有以下内容-StudentInfoDTO、AddressDTO、StudentDTO、skillsdo和myJson.json
学生信息发送至:
public class StudentInfoDTO extends StudentDTO implements Serializable{
private static final long serialVersionUID = 1L;
private AddressDTO address;
private String studentName;
....getters and setters
}
public class AddressDTO implements Serializable{
private static final long serialVersionUID = 1L;
private String street;
private String city;
private String state;
private String country;
private Long zipcode;
....getters and setters
}
public class StudentDTO implements Serializable{
private static final long serialVersionUID = 1L;
private String loggedInUser;
private String createdBy;
private Date createdTs;
private String updatedBy;
private Date updatedTs;
private List<skillsDTO> skills;
....getters and setters
}
地址到:
public class StudentInfoDTO extends StudentDTO implements Serializable{
private static final long serialVersionUID = 1L;
private AddressDTO address;
private String studentName;
....getters and setters
}
public class AddressDTO implements Serializable{
private static final long serialVersionUID = 1L;
private String street;
private String city;
private String state;
private String country;
private Long zipcode;
....getters and setters
}
public class StudentDTO implements Serializable{
private static final long serialVersionUID = 1L;
private String loggedInUser;
private String createdBy;
private Date createdTs;
private String updatedBy;
private Date updatedTs;
private List<skillsDTO> skills;
....getters and setters
}
学生收件人:
public class StudentInfoDTO extends StudentDTO implements Serializable{
private static final long serialVersionUID = 1L;
private AddressDTO address;
private String studentName;
....getters and setters
}
public class AddressDTO implements Serializable{
private static final long serialVersionUID = 1L;
private String street;
private String city;
private String state;
private String country;
private Long zipcode;
....getters and setters
}
public class StudentDTO implements Serializable{
private static final long serialVersionUID = 1L;
private String loggedInUser;
private String createdBy;
private Date createdTs;
private String updatedBy;
private Date updatedTs;
private List<skillsDTO> skills;
....getters and setters
}
我的错误日志:
03:29:03,132 ERROR [stderr] (http-localhost-127.0.0.1-8080-2) org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "loggedInUser" (Class com.mySchool.project.services.StudentInfoDTO), not marked as ignorable
03:29:03,133 ERROR [stderr] (http-localhost-127.0.0.1-8080-2) at [Source: c:\myJson.json; line: 51, column: 23] (through reference chain: com.mySchool.project.services.StudentInfoDTO["address"]->com.mySchool.project.services.StudentInfoDTO["loggedInUser"])
03:29:03,133 ERROR [stderr] (http-localhost-127.0.0.1-8080-2) at org.codehaus.jackson.map.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:53)
03:29:03,134 ERROR [stderr] (http-localhost-127.0.0.1-8080-2) at org.codehaus.jackson.map.deser.StdDeserializationContext.unknownFieldException(StdDeserializationContext.java:246)
很抱歉给您带来不便 它像预期的那样工作。 我的
myJson.json
文件中有一个错误,我按照@Vishvesh Phadnis
的建议重新生成了getter和setter
{
"address":
{
"street": "Hunterfly Place",
"city": "Dunlo",
"state": "Arizona",
"country": "Colorado",
"zipcode": "1631"
},
"studentName": "John",
"loggedInUser": "Admin",
"createdBy": "System",
"createdTs": "03-19-2011 14:53",
"updatedBy": "John",
"updatedTs": "06-11-2014 08:00",
"skills": [
{
"skill": "Football",
"grade": "A"
},
{
"skill": "Swimming",
"grade": "C"
},
{
"skill": "Dance",
"grade": "A"
}]
}
谢谢大家:)您正在使用哪个库版本?我没有面临任何问题。@VishveshPhadnis这是我在pom.xml
org.codehaus.jackson-jackson映射器asl 1.8.5中的内容。
@VishveshPhadnis我与JDK1.7、Jboss 7.1.1和jackson 1.8.5一起使用。我认为您没有为所有类添加正确的getter和setter。请交叉检查。特别是在StudentDTO
class@VishveshPhadnis我有能手和二传手