30.Json与java对象之间的互相转换

来源:互联网 发布:内部因素 矩阵分析 编辑:程序博客网 时间:2024/05/21 12:44

json反序列化为java对象:

package com.taotao.common.bean;import java.util.List;import com.fasterxml.jackson.databind.JsonNode;import com.fasterxml.jackson.databind.ObjectMapper;public class EasyUIResult {    // 定义jackson对象    private static final ObjectMapper MAPPER = new ObjectMapper();    private Integer total;    private List<?> rows;    public EasyUIResult() {    }    public EasyUIResult(Integer total, List<?> rows) {        this.total = total;        this.rows = rows;    }    public EasyUIResult(Long total, List<?> rows) {        this.total = total.intValue();        this.rows = rows;    }    public Integer getTotal() {        return total;    }    public void setTotal(Integer total) {        this.total = total;    }    public List<?> getRows() {        return rows;    }    public void setRows(List<?> rows) {        this.rows = rows;    }    /**     * Object是集合转化     *      * @param jsonData json数据     * @param clazz 集合中的类型     * @return     */    public static EasyUIResult formatToList(String jsonData, Class<?> clazz) {        try {            JsonNode jsonNode = MAPPER.readTree(jsonData);            JsonNode data = jsonNode.get("rows");            List<?> list = null;            if (data.isArray() && data.size() > 0) {                list = MAPPER.readValue(data.traverse(),                        MAPPER.getTypeFactory().constructCollectionType(List.class, clazz));            }            return new EasyUIResult(jsonNode.get("total").intValue(), list);        } catch (Exception e) {            return null;        }    }}

java对象序列化为json:
1.在项目中添加jackson依赖

<!-- JacksonJson处理工具包 -->            <dependency>                <groupId>com.fasterxml.jackson.core</groupId>                <artifactId>jackson-databind</artifactId>                <version>2.4.2</version>            </dependency>

2.定义Jackson对象

private static final ObjectMapper MAPPER = new ObjectMapper();

3.调用Jackson对象的序化方法

MAPPER.writeValueAsString(java对象);
原创粉丝点击