jackson转换json大写_jackson之TypeReference复杂泛型和首字母大写的json转换

博客介绍了如何使用Jackson库处理JSON首字母大写的问题,并展示了TypeReference在处理复杂泛型时的应用。通过`@JsonProperty`注解改变属性名称,`@JsonIgnoreProperties`忽略未知属性,以及`TypeReference`确保正确反序列化带泛型的对象。
摘要由CSDN通过智能技术生成

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

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

CallBack.java

public class CallBack 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 call = mapper.readValue(json, new TypeReference>() {});

System.out.println(call.toString());

System.out.println(call.getResults().toString());

}

}

TypeReference可以用来应对复杂的范型!

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>