我有一个遗留应用程序,该应用程序使用Spring-Rest和Google-GSON(在pom.xml中声明)对对象进行序列化/反序列化。在这些对象之一中,有一个java.util.Date属性,我想设置日期格式,但是找不到如何做。
我什至不能切换到Jackson,因为我的一位同事在他的部分代码中明确使用了它。
在这种情况下如何设置日期格式?
此应用程序不使用Spring Boot。我发现的所有问题都是关于Spring-boot + Jackson。
编辑:我添加一些细节。我有这个课程:
@Entity
@Table(name="WEB_ELENCO_SCHEMI")
@IdClass(PK.class)
public class WebElencoSchemi implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name="COD_ARCHIVIO_ARCAM")
private BigDecimal codArchivioArcam;
@Temporal(TemporalType.DATE)
@Column(name="DATA_AGGIORNAM")
private Date dataAggiornam;
...
}
这个存储库:
public interface WebElencoSchemiRepository extends CrudRepository<WebElencoSchemi, BigDecimal> {
public List<WebElencoSchemi> findByCodArchivioArcam(BigDecimal codArchivioArcam);
我想设置dataAggiornam JSON输出的格式。我正在使用GSON作为pom.xml中定义的Spring Rest的serializator / deserializator。
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.4</version>
</dependency>
我尝试在属性文件中添加spring.gson.date-format属性,但没有成功。
我没有使用Spring boot,也无法切换到Jackson(通过在class属性上添加简单注释即可解决问题)。
答案 0 :(得分:0)
使用GsonBuilder创建Gson对象时,您可以设置日期格式。
类似的东西
Gson gson = new GsonBuilder().setDateFormat("dd/MM/yyyy HH:mm").serializeNulls().create();
它还有许多其他工厂方法,这些方法也非常有用,以供您细读。喜欢这个图书馆。