>
控制器只是实例化这个对象并返回。
在输出中,我看到Date对象的默认表示形式是一个整数(可能是历元的毫秒)
是否有任何方法可以将日期对象的默认jsonification更改为ISO字符串或任何其他字符串?
编辑:
我对Spring和Spring Boot很陌生。我使用的模板来自spring网站上的一个示例应用程序。JSONification是通过Jackson完成的。Rest一下,一般来说,我对Spring不太了解。
日期。默认情况下,toString()方法返回历元时间戳。你想做的是关于杰克逊的事。要实现这一点,请将
MyDateTime
类更改为如下内容:
public class MyDateTime {
private final Date date;
public MyDateTime(Date date) {
this.date = date;
}
public Date date() { //this is not read by Jackson
return date;
}
public String getDate() { //this is read by Jackson
SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy");
return formatter.format(date);
}
}
序列化时,Jackson会查找getter方法,即以
get
开头的方法。如果不希望序列化某些内容,请从名称中删除get
。这是最简单的解决方案,您可以检查jacksonapi的@JsonIgnore注释以获得进一步的解决方案。如果您想在JSON字符串中的字段名中查看其他内容,请查找@JsonProperty。
要打印人类可读的日期,您需要
SimpleDateFormat
。这些示例在我的设置中运行良好,我只从HelloController
返回自定义类。
您可以设置Jackson在应用程序中序列化日期时使用的默认格式。属性
文件:
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
http://docs.spring.io/spring-boot/docs/1.2.3.RELEASE/reference/htmlsingle/#common-application-properties
您还可以使用@JsonFormat
注释指定用于特定日期的特定格式,示例如下:
示例POJO:
public class Demo {
private Date timestamp1;
private Date timestamp2;
public Date getTimestamp1() {
return timestamp1;
}
public void setTimestamp1(Date timestamp1) {
this.timestamp1 = timestamp1;
}
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ")
public Date getTimestamp2() {
return timestamp2;
}
public void setTimestamp2(Date timestamp2) {
this.timestamp2 = timestamp2;
}
}
控制器示例:
@RestController
public class DemoController {
@RequestMapping(value="/demo", method = RequestMethod.GET)
Demo start() {
Demo demo = new Demo();
Date timestamp = new Date();
demo.setTimestamp1(timestamp);
demo.setTimestamp2(timestamp);
return demo;
}
}
https://github.com/FasterXML/jackson-annotations/wiki/Jackson-Annotations
问题内容: 我正在使用NetBeans,试图将熟悉的Java咖啡杯图标更改为我保存在jar文件中资源目录中的png文件。我发现许多不同的网页声称它们都有解决方案,但是到目前为止,它们都无法正常工作。 这是我目前所拥有的(省略try-catch块): 包含此代码的类在 com.xyz 包中,如果有区别的话。该类还扩展了JFrame。此代码在第一行上引发MalformedUrlException。 有
我想在应用程序运行时找到我的对象大小。我想用千分尺在Grafana中显示我的对象大小。 我的对象像人、学生、...... 我该怎么办? 对象大小像文件大小、对象体积
我必须测试一个由spring和jsp编写的web应用程序。应用程序的默认会话超时为30分钟。 我想减少会话超时。为此,我更改了中的文件。但是它不起作用。中的默认配置是- 我刚刚改变了时间- 但仍然不起作用。据我所知,在这种情况下,我必须对spring应用程序的web进行更改。xml。但我不确定。有人能帮我吗? 提前谢谢。
问题内容: 我有一个将大型JSON对象返回到jQueryFlot的控制器,我想知道用更快的东西(例如ServiceStack.Text中的东西)替换默认JavaScriptSerializer会多么容易。 如果我可以使用DependencyResolver来更改此类内容,那将是很好的选择,但是我想,如果绝对可以解决所有问题,它可能会变得很慢。 问题答案: 最好的选择是从JsonResult类继承并
我有一个具有设备管理权限的应用程序。我的应用程序监控收到的短信,并通过一些逻辑传递内容。我可以改变默认的短信应用程序到我的应用程序编程。我的应用程序检查垃圾短信,所以它需要读/写/更新短信数据库。我想要一个Kitkat的修复方案。 我只是注意到,我的应用程序上的传入短信通知不再是新收到的短信通知,而是“新的挂出消息”通知,这是由挂出收到传入短信引起的。所以我的应用程序也不能接收带有sms_rece
在Eclipse中,创建动态Web项目时的文件夹结构是 :构建src WebContent ./build:类 ./建立/类: /src: ./WebContent:索引。html META-INF脚本WEB-INF ./WebContent/META-INF:MANIFEST。MF ./WebContent/scripts:jquery-1.7.1。js ./WebContent/WEB-INF