在项目开发中遇到一个现象, 上游提供的api中, v1版本字段格式是驼峰, v2版本需要改成下划线格式
由于跟着改就需要做发版操作, 为了避免这种情况, 就可以提前处理
@Data
public class OrderItem {
@JsonAlias(value = {"skuId"})
@JsonProperty("sku_id")
private String skuId;
public static void main(String[] args) throws JsonProcessingException {
ObjectMapper objectMapper = new ObjectMapper();
final OrderItem obj = objectMapper.readValue("{ \"skuId\": \"123\", \"sku_id\": \"456\" }", OrderItem.class);
System.out.println(obj);
}
}
此时skuId的取值是根据 json文本中 2个字段的先后顺序, 取后者
比如 上面代码示例中, sku_id:456 是比较靠后的, 所以obj对象中的skuId的值是 456