JAVA对象jackson序列化json属性名变成小写的解决方案

有如下类:

public class road {

    private int GREEN_TREE;
    public int getGREEN_TREE() {
        return GREEN_TREE;
    }
    public void setGREEN_TREE(int GREEN_TREE) {
        this.GREEN_TREE = GREEN_TREE;
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

当你使用jackson对其进行序列化的时候, “GREEN_TREE” 在得到的json中却显示成了“green_TREE”,就很奇怪。。 
查找了一下,发现这并不是代码的问题,而是jackson的默认行为,嘿嘿。。

解决方法就是: 
1、在声明变量时加上注解: @JsonProperty 
2、在set/get方法加上注解:@JsonIgnore 
代码如下:

public class road {

    @JsonProperty
    private int GREEN_TREE;
    @JsonIgnore
    public int getGREEN_TREE() {
        return GREEN_TREE;
    }
    @JsonIgnore
    public void setGREEN_TREE(int GREEN_TREE) {
        this.GREEN_TREE = GREEN_TREE;
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

这样处理之后,json中就是“GREEN_TREE”了。


转载自瓜皮哥:http://blog.csdn.net/ezreal_king/article/details/56477193

Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐