首页 > 解决方案 > 返回的 Json 响应是否保留列表的插入顺序?

问题描述

当返回一个包含数组列表属性的实体时,作为 Json 响应通过 GET 操作通过休息控制器,返回的 Json 响应是否会保留该数组列表的插入顺序?

使用 spring-data-jpa 从 postgresql 数据库中获取实体。

@Entity
public class MyEntity implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private long id;

    private final List<SomeObj> myList = new ArrayList<>();

}

如果是套装呢?我是否需要使用 SortedSet 来确保订单保留在返回的响应中。

标签: jsonjacksonspring-data-jpa

解决方案


Jackson对于集合序列化,使用给定集合返回的com.fasterxml.jackson.databind.ser.std.CollectionSerializer类或其他类似方法来遍历它。Iterator因此,默认情况下,如果集合保留它,它会保留插入顺序。如果你使用JacksonwithHibernate不要忘记注册HibernateXModule模块。


推荐阅读