Jackson使用总结

以jackson-all-1.9.11.jar为例

编写Article和Category对象

package com.zns.bean;

public class Article {
    private int articleid;
    private String articlename;
    public int getArticleid() {
        return articleid;
    }
    public void setArticleid(int articleid) {
        this.articleid = articleid;
    }
    public String getArticlename() {
        return articlename;
    }
    public void setArticlename(String articlename) {
        this.articlename = articlename;
    }
    public Article() {
        super();
    }
    public Article(int articleid, String articlename) {
        super();
        this.articleid = articleid;
        this.articlename = articlename;
    }
    @Override
    public String toString() {
        return "Article [articleid=" + articleid + ", articlename=" + articlename + "]";
    }
}
package com.zns.bean;

import java.util.List;

public class Category {
    private int categoryid;
    private String categoryname;
    private List<Article> articles;
    public int getCategoryid() {
        return categoryid;
    }
    public void setCategoryid(int categoryid) {
        this.categoryid = categoryid;
    }
    public String getCategoryname() {
        return categoryname;
    }
    public void setCategoryname(String categoryname) {
        this.categoryname = categoryname;
    }
    public List<Article> getArticles() {
        return articles;
    }
    public void setArticles(List<Article> articles) {
        this.articles = articles;
    }
    public Category() {
        super();
    }
    public Category(int categoryid, String categoryname, List<Article> articles) {
        super();
        this.categoryid = categoryid;
        this.categoryname = categoryname;
        this.articles = articles;
    }
    @Override
    public String toString() {
        return "Category [categoryid=" + categoryid + ", categoryname=" + categoryname + ", articles=" + articles + "]";
    }
    
}
// bean转json
        ObjectMapper objectMapper = new ObjectMapper();
        Article article = new Article(1, "aaa");
        String json = objectMapper.writeValueAsString(article);
        System.out.println(json);
        // json转bean
        Article obj = objectMapper.readValue(json, Article.class);
        System.out.println(obj);
        
        // list对象转json
        ObjectMapper objectMapper = new ObjectMapper();
        List<Article> list = new ArrayList<Article>();
        list.add(new Article(1, "a"));
        list.add(new Article(2, "b"));
        String json = objectMapper.writeValueAsString(list);
        System.out.println(json);
        // json转list对象
        List<Article> list2 = objectMapper.readValue(json,
                objectMapper.getTypeFactory().constructParametricType(ArrayList.class, Article.class));
        System.out.println(list2);
        
        // 复杂bean转json
        ObjectMapper objectMapper = new ObjectMapper();
        List<Article> articles = new ArrayList<Article>();
        articles.add(new Article(1, "a"));
        articles.add(new Article(2, "b"));
        Category category = new Category(1, "分类1", articles);
        String json = objectMapper.writeValueAsString(category);
        System.out.println(json);
        // json转复杂bean
        Category obj = objectMapper.readValue(json, Category.class);
        System.out.println(obj);
        
        // map转json
        ObjectMapper objectMapper = new ObjectMapper();
        Article article = new Article(1, "aaa");
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("id", "1");
        map.put("article", article);
        String json = objectMapper.writeValueAsString(map);
        System.out.println(json);
        // json转map
        Map<String, Object> map1 = objectMapper.readValue(json, Map.class);
        System.out.println(map1);

猜你喜欢

转载自www.cnblogs.com/zengnansheng/p/10389274.html