以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 Listarticles; 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 getArticles() { return articles; } public void setArticles(List articles) { this.articles = articles; } public Category() { super(); } public Category(int categoryid, String categoryname, List 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(); Listlist = new ArrayList (); list.add(new Article(1, "a")); list.add(new Article(2, "b")); String json = objectMapper.writeValueAsString(list); System.out.println(json); // json转list对象 List list2 = objectMapper.readValue(json, objectMapper.getTypeFactory().constructParametricType(ArrayList.class, Article.class)); System.out.println(list2); // 复杂bean转json ObjectMapper objectMapper = new ObjectMapper(); List articles = new ArrayList (); 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 map = new HashMap (); map.put("id", "1"); map.put("article", article); String json = objectMapper.writeValueAsString(map); System.out.println(json); // json转map Map map1 = objectMapper.readValue(json, Map.class); System.out.println(map1);