使用gson

时间:2019-06-05 13:48:56

标签: gson spring-rest

我有一个遗留应用程序,该应用程序使用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属性上添加简单注释即可解决问题)。

1 个答案:

答案 0 :(得分:0)

使用GsonBuilder创建Gson对象时,您可以设置日期格式。

类似的东西

Gson gson = new GsonBuilder().setDateFormat("dd/MM/yyyy HH:mm").serializeNulls().create();

它还有许多其他工厂方法,这些方法也非常有用,以供您细读。喜欢这个图书馆。