面对不遵守驼峰命名规则的接口咋办?当然首先要吐槽一下,不过接口是别人定的,虽然看着不爽但还是得去适配,比如cardNumber,他返回的叫{CARDNUMBER:''}。
通过对API的研究可以通过@JsonProperty以及@JsonAutoDetect来实现。
先看代码
@JsonAutoDetect(JsonMethod.FIELD) public class MemberApiParameter implements Serializable { private static final long serialVersionUID = 1L; /** 姓名 **/ @JsonProperty("NAME") private String name; /** 性别 **/ @JsonProperty("SEX") private String sex; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }
@JsonProperty("NAME")顾名思义,就是显示指定字段的别名,不管是输入还是输出都是这个名字。
@JsonAutoDetect(JsonMethod.FIELD)这个的意思是指解析字段,如果不这样设置,有兴趣的朋友可以试一下,会输出两套东西,类似{name:'',NAME:''},也就是说字段和getter方法都解析了,所以需要制定只解析字段名,忽略方法。还有一种方法就是需要一行行的在所有getter上加上@JsonIgnore,如果字段多就累死了。
JsonMethod的API说明:
ALL This pseudo-type indicates that all of real types are included |
CREATOR Creators are constructors and (static) factory methods used to construct POJO instances for deserialization |
FIELD Field refers to fields of regular Java objects. |
GETTER Getters are methods used to get a POJO field value for serialization, or, under certain conditions also for de-serialization. |
IS_GETTER "Is getters" are getter-like methods that are named "isXxx" (instead of "getXxx" for getters) and return boolean value (either primitive, or Boolean ). |
NONE This pseudo-type indicates that none of real types is included |
SETTER Setters are methods used to set a POJO value for deserialization. |
如果有更好的更加通用的办法欢迎留言补充。
相关推荐
Jackson JSON 三个jar包,Jackson JSON是一个非常方便强大的JSON框架,使用其让我们的开发游刃有余。
jackson json jackson json jackson jsonjackson jsonjackson jsonjackson jsonjackson jsonjackson jsonjackson json
webservice接口开发中,厂家提供的json格式,json与obj的相互转化,相信大家都很熟悉,考虑到厂家提供的接口会随着版本的不同,字段也会相应的增加,这个时候进行对象的转换就不能保证json与obj转换是一一对应的,...
《让Jackson JSON生成的数据包含的中文以unicode方式编码》一文的配套代码。文章地址:http://blog.csdn.net/chaijunkun/article/details/8257209
json 所需要的jackson-annotations-2.4.0.jar,jackson-core-2.4.2.jar, jackson-databind-2.4.2.jar,jackson-mapper-asl-1.9.11.jar
基于java的开发源码-高性能的JSON处理 Jackson.zip 基于java的开发源码-高性能的JSON处理 Jackson.zip 基于java的开发源码-高性能的JSON处理 Jackson.zip 基于java的开发源码-高性能的JSON处理 Jackson.zip 基于java...
高性能的JSON处理 Jackson
Json 数据格式化 jackson
Java常用四大json库,包含目前最新版gson,fastjson,jackson,json-lib
将json转换为map之后,如果数值类型太多会在转换之后出现科学计数法的问题,经研究jackson源码、网上百度资料得知可以通过设置一些参数解决该问题
jackson-annotations-2.5.4.jar jackson-core-2.5.4.jar jackson-databind-2.5.4.jar
赠送jar包:json4s-jackson_2.11-3.2.11.jar; 赠送原API文档:json4s-jackson_2.11-3.2.11-javadoc.jar; 赠送源代码:json4s-jackson_2.11-3.2.11-sources.jar; 赠送Maven依赖信息文件:json4s-jackson_2.11-...
赠送jar包:jackson-jaxrs-json-provider-2.7.8.jar; 赠送原API文档:jackson-jaxrs-json-provider-2.7.8-javadoc.jar; 赠送源代码:jackson-jaxrs-json-provider-2.7.8-sources.jar; 赠送Maven依赖信息文件:...
Java中,使用jackson完成json与Java对象互转
jackson进行JSON解析跟序列化
前一段工作中总会遇到使用Java处理JSON的情况,大部分都使用的是开源工具Jackson实现的。 因此总结一下发上来,希望对看到的人有所帮助。
NULL 博文链接:https://gerrard-ok.iteye.com/blog/2017340
最新的高性能 JSON 处理jackson-2.9.2.jar下载
使用jackson完成json与java对象的互相转换实例
jackson json序列化 json反序列化 jar包 直接下载拷贝到项目中buildpath即可使用