以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);