如何获取为Jackson指定的@JsonProperty注释值以用于单元测试?

时间:2017-05-28 04:16:50

标签: android jackson

我已使用Jackson 2.0指定了@JsonProperty注释值,以便将JSON反序列化为Android POJO。

如何在单元测试期间取回@JsonProperty值以供使用?

1 个答案:

答案 0 :(得分:0)

AFAICT,获取@JsonProperty值非常混乱,因为您需要使用反射。这很快就会产生多行代码来获取每个值。 :/

这是一个更好的选择:

在POJO中定义public final static class Keys以保存键映射。然后,您可以在@JsonProperty和单元测试中使用它。这是POJO的一个例子:

// Example.java
public class Example {

  public final static class Keys {
    public final static String identifier = "id";
  }

  @JsonProperty(Keys.identifier)
  private String mIdentifier;

  public String getIdentifier() {
    return mIdentifier;
  }
}

缺点是Keys必须公开宣布...每个Android文档,单元测试假设剥离private访问权限,但我无法访问Keys在我的单元测试中,除非他们是公开的。 :/