鍍金池/ 教程/ Java/ Jackson第一個(gè)程序
Jackson JsonGenerator類
Jackson樹模型
Jackson環(huán)境安裝設(shè)置
Jackson教程
Jackson數(shù)據(jù)綁定
Jackson第一個(gè)程序
Jackson JsonParser類
Jackson ObjectMapper類
Jackson流式API
Jackson數(shù)據(jù)綁定泛型
Jackson對(duì)象序列化
Jackson全數(shù)據(jù)綁定

Jackson第一個(gè)程序

再進(jìn)入學(xué)習(xí)jackson庫(kù)的細(xì)節(jié)之前,讓我們來(lái)看看應(yīng)用程序操作功能。在這個(gè)例子中,我們創(chuàng)建一個(gè)Student類。將創(chuàng)建一個(gè)JSON字符串學(xué)生的詳細(xì)信息,并將其反序列化到學(xué)生的對(duì)象,然后將其序列化到JSON字符串。

創(chuàng)建一個(gè)名為JacksonTester在Java類文件 C:\>Jackson_WORKSPACE.

文件: JacksonTester.java

import java.io.IOException;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;

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);
         
         mapper.enable(SerializationConfig.Feature.INDENT_OUTPUT);
         jsonString = mapper.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+ " ]";
   }	
}

驗(yàn)證結(jié)果

使用javac編譯如下類:

C:\Jackson_WORKSPACE>javac JacksonTester.java

現(xiàn)在運(yùn)行jacksonTester看到的結(jié)果:

C:\Jackson_WORKSPACE>java JacksonTester

驗(yàn)證輸出

Student [ name: Mahesh, age: 21 ]
{
  "name" : "Mahesh",
  "age" : 21
}

步驟 - 需要記住

以下是這里要考慮的重要步驟。

第1步:創(chuàng)建ObjectMapper對(duì)象。

創(chuàng)建ObjectMapper對(duì)象。它是一個(gè)可重復(fù)使用的對(duì)象。

ObjectMapper mapper = new ObjectMapper();

第2步:反序列化JSON到對(duì)象。

從JSON對(duì)象使用readValue()方法來(lái)獲取。通過(guò)JSON字符串和對(duì)象類型作為參數(shù)JSON字符串/來(lái)源。

//Object to JSON Conversion
Student student = mapper.readValue(