`

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}
分享到:
评论

相关推荐

    jackson-annotations、jackson-core、jackson-databind

    "jackson-annotations"、"jackson-core"和"jackson-databind"是Jackson库的三个核心模块,它们协同工作,提供了强大的JSON序列化和反序列化功能。 1. **jackson-annotations**:这个模块包含了各种注解,如`@...

    jackson-annotations jackson-core jackson-databind

    例如,以下是一个简单的使用示例: ```java import com.fasterxml.jackson.databind.ObjectMapper; public class User { private String name; private int age; // getters and setters public static void ...

    jackson-databind jackson-annatation jackson-core jackson-mapper

    Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。它提供了高效、功能丰富的处理JSON的方式,包括序列化和反序列化。在这个包中提到了四个关键组件:"jackson-databind"、"jackson-annotations...

    jackson-core所需的三个包;jackson-databind.jar,jackson-annotations.jar,jackson-core.jar

    它扩展了jackson-core,提供了对Java Bean属性的自动映射,使得我们可以通过简单的注解将类实例转换为JSON,反之亦然。 3. **jackson-annotations.jar**:包含了一系列的注解,这些注解可以用来配置Jackson如何序列...

    Jackson的简单用法

    以下是一个简单的例子,展示了如何使用`ObjectMapper`将一个Java对象转换为JSON字符串: ```java import com.fasterxml.jackson.databind.ObjectMapper; public class User { private String name; private int ...

    Jackson 2.9.3 和 jackson 2.9.3源码

    Jackson是Java领域中广泛使用的JSON处理库,2.9.3是其版本号。这个压缩包包含两个主要文件:`jackson-core-2.9.3.jar`和`jackson-core-master(1).zip`。前者是编译后的二进制JAR文件,可以直接在项目中引用以使用...

    jackson-annotations.jar jackson-core.jar jackson-databind.jar

    Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。这个库的主要功能是将Java对象转换为JSON格式,同时也能够将JSON数据转换回Java对象,极大地简化了JSON的序列化和反序列化操作。在给定的...

    jackson 全部jar包

    Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。它提供了高效、功能丰富的处理JSON的方式,包括序列化、反序列化以及数据绑定。在JSON的解析和生成方面,Jackson具有高性能、易用性以及灵活...

    jackson-all.jar

    jackson优势: (1)Jackson可以轻松的将Java对象转换成...(4)简单易用并且性能也要相对高些。 (5)Jackson社区相对比较活跃,案例丰富,更新速度快。 附加JSON数据格式化和查看器,方便JSON数据测试和校验,有利于开发。

    jackson2.7-jar

    Jackson是Java领域中广泛使用的JSON处理库,它的2.7版本是其发展中的一个重要里程碑,提供了许多增强特性和性能优化。Jackson 2.7 jar文件是这个版本的二进制库,包含了处理JSON序列化和反序列化所需的所有类和方法...

    jackson-annotations-2.9.5.jar ,jackson-core-2.9.5.jar,jackson-databind-2.9.5.jar

    这个压缩包包含的三个核心组件——`jackson-annotations-2.9.5.jar`、`jackson-core-2.9.5.jar`和`jackson-databind-2.9.5.jar`是Jackson库的核心部分,它们协同工作,提供了全面的JSON解析和生成能力。 1. **...

    jackson-2.7.0版架包

    jackson-2.7.0版架包jackson-2.7.0版架包jackson-2.7.0版架包jackson-2.7.0版架包jackson-2.7.0版架包jackson-2.7.0版架包jackson-2.7.0版架包jackson-2.7.0版架包jackson-2.7.0版架包jackson-2.7.0版架包jackson-...

    jackson-2.8.11.jar

    Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司维护...无论是简单的对象转换,还是复杂的序列化场景,Jackson都能提供高效且灵活的解决方案。在Java Web开发中,Jackson已经成为处理JSON数据的标准库之一。

    jackson-annotations-2.2.3.jar jackson-core-2.2.3.jar jackson-databind-2.2.3.jar

    这个压缩包包含了Jackson库的三个核心组件的2.2.3版本:`jackson-annotations-2.2.3.jar`、`jackson-core-2.2.3.jar` 和 `jackson-databind-2.2.3.jar`。 1. **jackson-annotations-2.2.3.jar**: 这个模块提供了...

    jackson 1.5中文帮助文档

    Jackson是Java领域中广泛使用的JSON处理库,以其高效性能和易用性著称。1.5版本虽然相对较老,但其核心概念和功能对于理解JSON序列化和反序列化仍具有重要价值。以下是对Jackson 1.5中文帮助文档中的关键知识点的...

    jackson依赖jar包.

    Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。它提供了高效、功能丰富的处理JSON的各种工具,包括序列化和反序列化。在Java应用程序中,Jackson库是一个不可或缺的部分,特别是对于那些...

    jackson-core-asl-1.9.13+jackson-mapper-asl-1.9.13札包

    总的来说,Jackson库是Java开发中处理JSON不可或缺的工具,它的高效性能和丰富的功能使得JSON序列化和反序列化变得简单而强大。对于SSH整合或其他任何需要JSON数据处理的项目,这两个jar文件都是必不可少的依赖。

    Jackson1.9 jar 全部jar包

    7. **Jackson-android**: 特别针对Android平台优化的Jackson库,体积更小,更适合移动设备。 在1.9版本中,Jackson已经具有相当完善的特性和性能,但后续的2.x版本引入了更多的改进和新特性,例如类型安全的POJO...

    jackson-annotations-2.2.3.jar(Jackson解析需引入的包)

    以下是一个简单的示例: ```java import com.fasterxml.jackson.databind.ObjectMapper; public class Main { public static void main(String[] args) throws Exception { Person person = new Person(); ...

    jackson的一个简单的Demo

    在“Jackson的一个简单的Demo”中,我们将探讨如何利用Jackson库进行对象到JSON和JSON到对象的转换。 首先,Jackson库的核心组件包括`ObjectMapper`,这是一个关键类,负责执行Java对象与JSON之间的映射。通过创建`...

Global site tag (gtag.js) - Google Analytics