在我的控制器类中,使用ObjectMapper读取JSON数据,并在将数据存储在MyPojo类中之后,现在我想打印POJO对象中的内容。如果我正在curl
,它会显示一些十六进制值。那么我该怎么办才能获得你的内容。
这是我的模特课:
system.out.println(pojo);
这是我的主类Controller类
package com.ge.health.model;
import java.util.Date;
public class JSONmodel {
private String message;
private String data;
private String datetime;
public String getDatetime() {
return datetime;
}
public void setDatetime(String datetime) {
this.datetime = datetime;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
public String getData() {
return data;
}
public void setData(String data) {
this.data = data;
}
}
答案 0 :(得分:2)
你需要用一些东西来覆盖toString(),告诉你你想知道什么:
public String toString() {
return "message: " + message +
",\n data: " + data +
",\n datetime: " + datetime;
}
答案 1 :(得分:0)
在对象实例上调用System.out.println
将打印由String
实现的toString
表示。
如果您不覆盖Object#toString
,则您将使用[ClassName@hashCode]
表示法打印对象,就像在Object
中实现的那样。
在这种情况下,你的问题有点令人困惑,因为你是从JSON反序列化你的pojo实例,但你实际打印的是那个实例,所以只要toString
没有被覆盖,你就是将获得"一些十六进制值"如你所说。
答案 2 :(得分:0)
您必须覆盖(生成)toString
类中的JSONmodel
方法。
像:
@Override
public String toString() {
return "JSONmodel [message=" + message + ", data=" + data
+ ", datetime=" + datetime + "]";
}