Jackson - 第一次申请
在详细介绍 Jackson 库之前,让我们先看看一个正在运行的应用程序。在此示例中,我们创建了 Student 类。我们将创建一个包含学生详细信息的 JSON 字符串,并将其反序列化为学生对象,然后将其序列化为 JSON 字符串。
在C:\>Jackson_WORKSPACE中创建一个名为 JacksonTester 的 java 类文件。
文件:JacksonTester.java
导入java.io.IOException; 导入 com.fasterxml.jackson.core.JsonParseException; 导入 com.fasterxml.jackson.databind.JsonMappingException; 导入 com.fasterxml.jackson.databind.ObjectMapper; 公共类 JacksonTester { 公共静态无效主(字符串参数[]){ ObjectMapper 映射器 = new ObjectMapper(); String jsonString = "{\"姓名\":\"Mahesh\", \"年龄\":21}"; //将json映射到学生 尝试{ 学生student = mapper.readValue(jsonString, Student.class); System.out.println(学生); jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student); System.out.println(jsonString); } catch (JsonParseException e) { e.printStackTrace();} catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } 班级学生{ 私有字符串名称; 私有整数年龄; 公共学生(){} 公共字符串 getName() { 返回名称; } 公共无效setName(字符串名称){ this.name = 名称; } 公共 int getAge() { 返回年龄; } 公共无效setAge(int年龄){ this.age = 年龄; } 公共字符串 toString(){ return "学生[姓名:"+姓名+",年龄:"+年龄+"]"; } }
验证结果
使用javac编译器编译类,如下所示:
C:\Jackson_WORKSPACE>javac JacksonTester.java
现在运行 jacksonTester 查看结果:
C:\Jackson_WORKSPACE>java JacksonTester
验证输出
Student [ name: Mahesh, age: 21 ] { "name" : "Mahesh", "age" : 21 }
需要记住的步骤
以下是此处需要考虑的重要步骤。
步骤1:创建ObjectMapper对象。
创建 ObjectMapper 对象。它是一个可重复使用的对象。
ObjectMapper mapper = new ObjectMapper();
第 2 步:将 JSON 反序列化为对象。
使用 readValue() 方法从 JSON 中获取对象。传递 json 字符串/ json 字符串的源和对象类型作为参数。
//Object to JSON Conversion Student student = mapper.readValue(jsonString, Student.class);
步骤 3:将对象序列化为 JSON。
使用 writeValueAsString() 方法获取对象的 JSON 字符串表示形式。
//Object to JSON Conversion jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);