杰克逊图书馆无视属性

时间:2011-10-26 19:00:49

标签: json jackson

杰克逊@JsonIgnoreProperties没有忽略可能的目标,但忽略了所有者和lemf。我可以忽略列表。

@JsonIgnoreProperties( {"owner","lemf"," possibleTargets"} )
@Entity
public class Warrant extends Nameable {

    @LazyCollection(LazyCollectionOption.FALSE)
    @OneToMany(mappedBy ="warrant",targetEntity = com.endersys.lims.model.Target.class)
    private List<Target> possibleTargets;

输出:

[{"status":"SCHEDULED","startDate":1320962400000,"endDate":1320962400000,"caseId":"1","possibleTargets":[],"name":"warrant_1","description":"decription","identity":"warrant_1","version":1,"systemId":1,"active":true}]

2 个答案:

答案 0 :(得分:2)

我也有问题lazyload因为杰克逊试图序列化被忽略的字段。我找到了一个帖子related到此。使用杰克逊1.9问题解决了,我使用@JsonIgnore但@JsonIgnoreProperties仍然没有处理onetomany关系

答案 1 :(得分:0)

使用Jackson版本2.4它完美无缺。

这是您可以实施的方式:

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties({"id"})

在这个developerWork post中,我找到了一个实现Jackson v2.4的示例,所有代码和库都可用。