如何使用codehaus.jackson.map.ObjectMapper映射无法识别的字段

时间:2014-08-20 03:47:55

标签: java json

我有点坚持使用json String的一个问题来进行java对象转换。我知道使用 DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES 我们可以忽略与名称不匹配的字段。对象中的字段。

然而,有一种方法我们可以以某种方式将字段从json字符串映射到对象,API的某种指令说"如果在转换时找到X,则将X的值映射到Y& #34;

public class MyPOJO {

    private String id;
    private int name;
    // standard getters and setters 
}

JSON String的名称为 name2 ,somwehow我想将name2的值映射到我的pojo的name变量。

String jsonAsString = 
        "{\"id\":\"a\"," +
        "\"name2\":\"something\"}";

感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用注释

来完成

杰克逊:使用 @JsonProperty

对于GSon:使用 @SerializedName

public class SampleJSONDTO implements Serializable
{
    /**
     * 
     */
    private static final long serialVersionUID = 4694247925037679167L;

    @JsonProperty(value = "leftHand")
    private int left;
    @JsonProperty(value = "rightHand")
    private int right;
    public int getLeft()
    {
        return left;
    }
    public void setLeft(int left)
    {
        this.left = left;
    }
    public int getRight()
    {
        return right;
    }
    public void setRight(int right)
    {
        this.right = right;
    }

}