Json属性和实例变量都可以根据要求提供

时间:2016-08-10 17:41:34

标签: java json jackson

我有一个json属性的pojo类,如:

@JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)
public class ItemsListPost {

    @JsonProperty("order_product_id")
    private int orderProductId;
    @JsonProperty("quantity")
    private int quantity;

    public int getOrderProductId() {
        return orderProductId;
    }

    public void setOrderProductId(int orderProductId) {
        this.orderProductId = orderProductId;
    }

    public int getQuantity() {
        return quantity;
    }

    public void setQuantity(int quantity) {
        this.quantity = quantity;
    }

}

我设置了这个类的值,并尝试使用

检索json响应
String requestShipment = objMapper.writeValueAsString(shp);
            System.out.println(requestShipment);

它显示了orderProductId的双输出,如下所示:

{  
         "order_product_id":106,
         "orderProductId":106,
         "quantity":1
      }

如何防止OrderProductId出现这种情况我只需要order_product_id。

1 个答案:

答案 0 :(得分:0)

最后我得到了解决方案。我正在使用1.7。* jackson all来解决这个问题我把@JsonProperty(“order_product_id”)放在getter方法中()