`

Jackson简单小结

 
阅读更多
   本文简单小结下 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}
分享到:
评论

相关推荐

    javascript面向对象创建对象的方式小结.docx

    ### JavaScript面向对象创建对象的方式小结 #### 一、引言 在JavaScript中,面向对象编程(OOP)是一种非常重要的编程范式。它通过创建和操作对象来组织代码,提高代码的复用性和可维护性。本文将详细介绍...

    JSON学习小结

    为了确保JSON数据的正确性,可以使用各种JSON格式验证工具,例如Gson、Fastjson和Jackson,这些都是Java开发中的常用第三方库。它们提供了方便的API来解析和生成JSON。 以**Fastjson**为例,这是阿里巴巴提供的一个...

    神经病学癫痫.pptx

    #### 小结 癫痫作为一种复杂的神经系统疾病,其临床表现多样,诊断和治疗都需要细致的评估和个性化的方案。通过对癫痫的不同类型的了解,可以更好地指导临床实践,提高治疗效果。随着科学技术的发展,对于癫痫的研究...

    SSM集成应用

    **12.5 SpringMVC小结** - **优势**:清晰的架构、易于理解和使用。 - **自由度和扩展性**:通过各种配置和自定义实现高度的灵活性。 #### 补充 **13.1 前台传method的方法名,后台通过反射调用方法** 通过动态...

    软件工程-理论与实践(许家珆)习题答案

    答:主要的软件开发方法有:结构化开发方法、Jackson(JSP、JSD)方法、原型化开发方 法、维也纳开发方法(VDM)和面向对象的开发方法。 6. 软件生命期各阶段的任务是什么? 答:软件生命期瀑布模型分为六个阶段: ...

    计算机二级C语言考试题预测

    - 数据库是一个结构化的数据集合,而不是简单的文件集合。 69. **外模式** - 用户视图,描述了单个用户所看到的数据视图。 70. **需求分析的任务** - 确定软件系统应该具有的功能。 71. **算法分析的目的** ...

    二级C语言公共基础知识

    (33) Jackson结构化程序设计方法是英国的M.Jackson提出的,它是一种面向______的设计方法。 答:数据结构 (34) 数据库设计分为以下6个设计阶段:需求分析阶段、______、逻辑设计阶段、物理设计阶段、实施阶段、运行...

Global site tag (gtag.js) - Google Analytics