Jsckson 实现 java 对象与 JSONObject 和 JSONArray 互转

在项目开发过程中,当客户端与服务器响应时,数据交互是必不可少的。然而通过Json实现数据交互成为我们开发中的一部分,进而Jackson为我们的Json转化提供了很好的机制。下面我将利用实例总结如何使用jackson。

一.准备

        如果你需要使用jackson,你必须得导入相应的架包,有如下三个包jackson-annotations;jackson-core;jackson-databind。

 

二.不带日期的对象实体与json互转

1.定义实体UserBean.java、DeptBean.java

package com.bijian.study;  
  
public class UserBean {  
      
    private int userId;  
    private String userName;  
    private String password;  
    private String email;  
  
    public int getUserId() {  
        return userId;  
    }  
  
    public void setUserId(int userId) {  
        this.userId = userId;  
    }  
  
    public String getUserName() {  
        return userName;  
    }  
  
    public void setUserName(String userName) {  
        this.userName = userName;  
    }  
  
    public String getPassword() {  
        return password;  
    }  
  
    public void setPassword(String password) {  
        this.password = password;  
    }  
  
    public String getEmail() {  
        return email;  
    }  
  
    public void setEmail(String email) {  
        this.email = email;  
    }  
  
    @Override  
    public String toString() {  
        return "UserBean [userId=" + userId + ", userName=" + userName + ", password=" + password + ", email=" + email  
                + "]";  
    }  
  
    public UserBean(int userId, String userName, String password, String email) {  
        super();  
        this.userId = userId;  
        this.userName = userName;  
        this.password = password;  
        this.email = email;  
    }  
  
    public UserBean() {  
        super();  
    }  
}  
package com.bijian.study;  
  
import java.util.List;  
  
public class DeptBean {  
      
    private int deptId;  
    private String deptName;  
    private List<UserBean> userBeanList;  
  
    public int getDeptId() {  
        return deptId;  
    }  
  
    public void setDeptId(int deptId) {  
        this.deptId = deptId;  
    }  
  
    public String getDeptName() {  
        return deptName;  
    }  
  
    public void setDeptName(String deptName) {  
        this.deptName = deptName;  
    }  
  
    public List<UserBean> getUserBeanList() {  
        return userBeanList;  
    }  
  
    public void setUserBeanList(List<UserBean> userBeanList) {  
        this.userBeanList = userBeanList;  
    }  
  
    @Override  
    public String toString() {  
          
        String userBeanListString = "";  
        for (UserBean userBean : userBeanList) {  
            userBeanListString += userBean.toString() + "\n";  
        }  
  
        return "DeptBean [deptId=" + deptId + ", deptName=" + deptName + ", \nuserBeanListString=" + userBeanListString  
                + "]";  
    }  
  
    public DeptBean(int deptId, String deptName, List<UserBean> userBeanList) {  
        super();  
        this.deptId = deptId;  
        this.deptName = deptName;  
        this.userBeanList = userBeanList;  
    }  
  
    public DeptBean() {  
        super();  
    }  
}  

 

2.jackson数据转换工具类

package com.bijian.study;  
  
import com.fasterxml.jackson.core.type.TypeReference;  
import com.fasterxml.jackson.databind.ObjectMapper;  
  
/** 
 * The class JacksonUtil 
 * 使用泛型方法,把json字符串转换为相应的JavaBean对象。 
 * (1)转换为普通JavaBean:readValue(json,Student.class) 
 * (2)转换为List,如List<Student>,将第二个参数传递为Student[].class.然后使用Arrays.asList();方法把得到的数组转换为特定类型的List 
 * 
 * json字符与对像转换 
 */  
public final class JacksonUtil {  
  
    public static ObjectMapper objectMapper;  
  
    /** 
     * json对象转JAVA对象 
     *  
     * @param jsonStr 
     * @param valueType 
     * @return 
     
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值