首页 > 其他 > 详细

Jackson学习

时间:2018-06-07 23:47:43      阅读:231      评论:0      收藏:0      [点我收藏+]

Jackson学习

 转载:https://www.cnblogs.com/yangchongxing/p/9153150.html

1、object转json、json转object,object和json的字段名称相同

package com.qq.weixin.mp.result;

import com.fasterxml.jackson.databind.ObjectMapper;

public class AccessTokenResult {
    private String accessToken;
    private long expiresIn;
    public String getAccessToken() {
        return accessToken;
    }
    public void setAccessToken(String accessToken) {
        this.accessToken = accessToken;
    }
    public long getExpiresIn() {
        return expiresIn;
    }
    public void setExpiresIn(long expiresIn) {
        this.expiresIn = expiresIn;
    }
    @Override
    public String toString() {
        return "AccessTokenResult [accessToken=" + accessToken + ", expiresIn=" + expiresIn + "]";
    }
    public static void main(String[] args) {
        AccessTokenResult bean = new AccessTokenResult();
        bean.setAccessToken("2r5fx9eiyapFxEGgHq");
        bean.setExpiresIn(7200);
        try {
            ObjectMapper mapper = new ObjectMapper();
            String json = mapper.writeValueAsString(bean);//object转json
            System.out.println(json);
            AccessTokenResult object = mapper.readValue(json, AccessTokenResult.class);//json转object
            System.out.println(object);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

结果

{"accessToken":"2r5fx9eiyapFxEGgHq","expiresIn":7200}
AccessTokenResult [accessToken=2r5fx9eiyapFxEGgHq, expiresIn=7200]

2、object和json的字段名称不相同

package com.qq.weixin.mp.result;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.ObjectMapper;

public class AccessTokenResult {
    private String accessToken;
    private long expiresIn;
    @JsonProperty(value="access_token")
    public String getAccessToken() {
        return accessToken;
    }
    @JsonProperty(value="access_token")
    public void setAccessToken(String accessToken) {
        this.accessToken = accessToken;
    }
    
    @JsonProperty(value="expires_in")
    public long getExpiresIn() {
        return expiresIn;
    }
    @JsonProperty(value="expires_in")
    public void setExpiresIn(long expiresIn) {
        this.expiresIn = expiresIn;
    }
    @Override
    public String toString() {
        return "AccessTokenResult [accessToken=" + accessToken + ", expiresIn=" + expiresIn + "]";
    }
    public static void main(String[] args) {
        AccessTokenResult bean = new AccessTokenResult();
        bean.setAccessToken("2r5fx9eiyapFxEGgHq");
        bean.setExpiresIn(7200);
        try {
            ObjectMapper mapper = new ObjectMapper();
            String json = mapper.writeValueAsString(bean);//object转json
            System.out.println(json);
            AccessTokenResult object = mapper.readValue(json, AccessTokenResult.class);//json转object
            System.out.println(object);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

结果

{"access_token":"2r5fx9eiyapFxEGgHq","expires_in":7200}
AccessTokenResult [accessToken=2r5fx9eiyapFxEGgHq, expiresIn=7200]

@JsonProperty注解,作用在get方法将属性名序列化为指定的名称,作用在set方法将指定名称反序列化到属性

 

Jackson学习

原文:https://www.cnblogs.com/yangchongxing/p/9153150.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!