Jackson简单小结

标签: jackson | 发表时间:2014-06-21 09:58 | 作者:
出处:http://jackyrong.iteye.com
   本文简单小结下 jackson的常用操作 ,使用的是1.9.13的版本;

1) 简单pojo转换json:
   
public class Employee
{
   private Integer id;
   private String firstName;
   private String lastName;
 
   public Employee(){
 
   }
 
   public Employee(Integer id, String firstName, String lastName, Date birthDate){
      this.id = id;
      this.firstName = firstName;
      this.lastName = lastName;
   }
 
   public Integer getId()
   {
      return id;
   }
   public void setId(Integer id)
   {
      this.id = id;
   }
   public String getFirstName()
   {
      return firstName;
   }
   public void setFirstName(String firstName)
   {
      this.firstName = firstName;
   }
   public String getLastName()
   {
      return lastName;
   }
   public void setLastName(String lastName)
   {
      this.lastName = lastName;
   }
 
   @Override
   public String toString()
   {
      return "Employee [id=" + id + ", firstName=" + firstName + ", " +
            "lastName=" + lastName + "]";
   }
}


   转换:
  
public class JavaToJSONExample
{
   public static void main(String[] args)
   {
      @SuppressWarnings("deprecation")
      Employee employee = new Employee(1, "Lokesh", "Gupta", new Date(1981,8,18));
      ObjectMapper mapper = new ObjectMapper();
      try
      {
         mapper.writeValue(new File("c://temp/employee.json"), employee);
      } catch (JsonGenerationException e)
      {
         e.printStackTrace();
      } catch (JsonMappingException e)
      {
         e.printStackTrace();
      } catch (IOException e)
      {
         e.printStackTrace();
      }
   }
}
 
Output:
 
//In employee.json file below content will be written
 
{"id":1,"firstName":"Lokesh","lastName":"Gupta"}


   如果要转换为良好的格式,则:
  
public class JavaToPrettyJSONExample
{
   public static void main(String[] args)
   {
      @SuppressWarnings("deprecation")
      Employee employee = new Employee(1, "Lokesh", "Gupta", new Date(1981,8,18));
      ObjectMapper mapper = new ObjectMapper();
      try
      {
         mapper.defaultPrettyPrintingWriter().writeValue(new File("c://temp/employee.json"), employee);
      } catch (JsonGenerationException e)
      {
         e.printStackTrace();
      } catch (JsonMappingException e)
      {
         e.printStackTrace();
      } catch (IOException e)
      {
         e.printStackTrace();
      }
   }
}
 
Output:
 
{
  "id" : 1,
  "firstName" : "Lokesh",
  "lastName" : "Gupta"
}



json转换为pojo:
    
public class JSONToJavaExample
{
   public static void main(String[] args)
   {
      Employee employee = null;
      ObjectMapper mapper = new ObjectMapper();
      try
      {
         employee =  mapper.readValue(new File("c://temp/employee.json"), Employee.class);
      } catch (JsonGenerationException e)
      {
         e.printStackTrace();
      } catch (JsonMappingException e)
      {
         e.printStackTrace();
      } catch (IOException e)
      {
         e.printStackTrace();
      }
      System.out.println(employee);
   }
}
 
Output:
 
Employee [id=1, firstName=Lokesh, lastName=Gupta]



2  接下来看如何把hashmap转换为json:
  
public class JavaToHashMapExample
{
   public static void main(String[] args)
   {
      HashMap<string, object=""> hashmap = new HashMap<string, object="">();
      hashmap.put("id", 11);
      hashmap.put("firstName", "Lokesh");
      hashmap.put("lastName", "Gupta");
       
      ObjectMapper mapper = new ObjectMapper();
      try
      {
         mapper.writeValue(new File("c://temp/data.json"), hashmap);
      } catch (JsonGenerationException e)
      {
         e.printStackTrace();
      } catch (JsonMappingException e)
      {
         e.printStackTrace();
      } catch (IOException e)
      {
         e.printStackTrace();
      }
   }
}
 
File content:
 
{"id":11,"lastName":"Gupta","firstName":"Lokesh"}


再把hashmap反转为json
   
public class HashMapToJSONExample
{
   public static void main(String[] args)
   {
      HashMap<string, object=""> hashmap = new HashMap<string, object="">();
      ObjectMapper mapper = new ObjectMapper();
      try
      {
         hashmap = mapper.readValue(new File("c://temp/data.json"), 
               new TypeReference<map<string, object="">>(){
                                                       });
      } catch (JsonGenerationException e)
      {
         e.printStackTrace();
      } catch (JsonMappingException e)
      {
         e.printStackTrace();
      } catch (IOException e)
      {
         e.printStackTrace();
      }
      System.out.println(hashmap);
   }
}
 
Output:
 
{id=11, lastName=Gupta, firstName=Lokesh}


已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [jackson] 推荐:

Jackson简单小结

- - jackyrong
   本文简单小结下 jackson的常用操作 ,使用的是1.9.13的版本;. 1) 简单pojo转换json:.    如果要转换为良好的格式,则:. 2  接下来看如何把hashmap转换为json:. 再把hashmap反转为json. 已有 0 人发表留言,猛击->> 这里<<-参与讨论.

Json解析工具Jackson(使用注解)

- - 行业应用 - ITeye博客
       接上一篇文章 Json解析工具Jackson(简单应用),jackson在实际应用中给我们提供了一系列注解,提高了开发的灵活性,下面介绍一下最常用的一些注解.          此注解是类注解,作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响.

Jackson序列化之自动检测

- - ITeye博客
今天线上出现了一个问题,使用springMVC RestController接口返回json数据给客户端,发现其中某一个model中的所有属性,被序列化了两遍,并且一次是大写开头,一次是小写,部分结构如下:. "Title": "返券",. "title": "返券",.  对springMVC序列化做了简单的配置,如下:.

極簡風格童話海報創作 – Christian Jackson

- 逸川 - ㄇㄞˋ點子靈感創意誌
極簡、簡約的平面創作一直都是我們最喜歡的藝術風格,例如這個或這個. 所以這個結合了我們童年時所聽到的童話故事或是寓言,再以極簡風格呈現的海報創作真的是讓人愛不釋手. 這些由設計師 Christian Jackson 所創作的海報運用了恰到好處的創意,以最簡單的梗來呈現出最原始的故事. 這些藝術創作帶領觀賞者回到童年時閱讀這些故事的心情,甚至讓人不由自主的露出兒時的憨笑.

Java下利用Jackson进行JSON解析和序列化

- - 企业架构 - ITeye博客
Java下常见的Json类库有Gson、JSON-lib和Jackson等,Jackson相对来说比较高效,在项目中主要使用Jackson进行JSON和Java对象转换,下面给出一些Jackson的JSON操作方法. 首先去官网下载Jackson工具包,下载地址http://wiki.fasterxml.com/JacksonDownload.

JSON库之性能比较:JSON.simple VS GSON VS Jackson VS JSONP

- - Java译站
Java中哪个JSON库的解析速度是最快的. JSON已经成为当前服务器与WEB应用之间数据传输的公认标准,不过正如许多我们所习以为常的事情一样,你会觉得这是理所当然的便不再深入思考了. 我们很少会去想用到的这些JSON库到底有什么不同,但事实上它们的确是不太一样的. 因此,我们运行了一个基准测试来对常用的几个JSON库进行了测试,看看在解析不同大小的文件时哪个库的速度是最快的.

【xxx】前端技能汇总(Jackson Tian) 前端工程师们,珍重!

- - 王跸西的生命体验blog-WangBiXi.com
Frontend Knowledge Structure 项目起源. 还记得@jayli 的这幅前端知识结构图么. 缺失源图的我们,无法为此图贡献些什么,随着时间的迁移,或许有些技术点会发生改变,所以有了这个github项目. 我们可以通过协作的方式来共同维护这个项目. Git的历史记录也可以见证前端行业的一些变迁.

Java JSON(一)Jackson区别于竞争对手的7个杀手锏--转

- - 开源软件 - ITeye博客
转自:http://www.blogjava.net/wangxinsh55/archive/2012/09/06/387179.html. Jackson JSON 处理器 为一行之有效的Java JSON处理器,诸如它具有如下特点:.     简但且方便的JSON解析,以及与Java对象的相互转换.