打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
jackson之TypeReference复杂泛型和首字母大写的json转换
userphoto

2016.05.14

关注

项目有个向外部提供api的接口,采用的Oauth协议,部分json字段存在首字母大写的情况!

好吧,还是代码来得直接:

CallBack.java

public class CallBack <T> implements java.io.Serializable{	private int error;	// 错误号	private T results;  // 返回的实体信息	@Override	public String toString() {		return "CallBack [error=" + error + ", results=" + results.toString() + "]";	}		public int getError() {		return error;	}	public void setError(int error) {		this.error = error;	}	public T getResults() {		return results;	}	public void setResults(T results) {		this.results = results;	}}

UserInfo.java

public class UserInfo implements java.io.Serializable{	@JsonProperty("AppId")	private String AppId;	@JsonProperty("AppKey")	private String AppKey;	@Override	public String toString() {		return "UserInfo [AppId=" + AppId + ", AppKey=" + AppKey + "]";	}	public String getAppId() {		return AppId;	}	public void setAppId(String appId) {		AppId = appId;	}	public String getAppKey() {		return AppKey;	}	public void setAppKey(String appKey) {		AppKey = appKey;	}}

@JsonProperty  用来改变某个成员属性

@JsonIgnore     用来忽略某个属性

@JsonIgnoreProperties(ignoreUnknown=true)     忽略掉Pojo中没有配置的属性

Test.java

public class Test {	public static void main(String[] args) throws Exception {		ObjectMapper mapper = new ObjectMapper();		String json = "{\"error\":0, \"results\":{\"AppId\": \"werewrfasdf\", \"AppKey\":\"wqrfdsafdzsjkfhjadh\"}}";				CallBack<UserInfo> call = mapper.readValue(json, new TypeReference<CallBack<UserInfo>>() {});				System.out.println(call.toString());		System.out.println(call.getResults().toString());	}}

TypeReference以用来

简单的介绍到这了,祝各位看官身体健康万事如意!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
JAVA版微信支付V3-完全版
百度离线语音识别
如何写出安全的API接口?接口参数加密签名设计思路
PHP 微信公众号开发
apicloud短信验证android模块教程
MVC 微信开发获取用户OpenID
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服