杰克逊 - 第一个应用程序
在了解 jackson 库的详细内容之前,我们先看一个实际应用。在此示例中,我们创建了 Student 类。我们将用学生详细信息创建一个 JSON 字符串,并将其反序列化为学生对象,然后再将其序列化为 JSON 字符串。
在 C:\>Jackson_WORKSPACE 中创建一个名为 JacksonTester 的 Java 类文件。
文件:JacksonTester.java
import java.io.IOException; import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; public class JacksonTester { public static void main(String args[]){ ObjectMapper mapper = new ObjectMapper(); String jsonString = "{\"name\":\"Mahesh\", \"age\":21}"; //map json to student try{ Student student = mapper.readValue(jsonString, Student.class); System.out.println(student); jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student); System.out.println(jsonString); } catch (JsonParseException e) { e.printStackTrace();} catch (JsonMappingException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } class Student { private String name; private int age; public Student(){} public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String toString(){ return "Student [ name: "+name+", age: "+ age+ " ]"; } }
验证结果
使用 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);
广告