鍍金池/ 教程/ Java/ Jackson數(shù)據(jù)綁定泛型
Jackson JsonGenerator類
Jackson樹(shù)模型
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數(shù)據(jù)綁定泛型

在簡(jiǎn)單的數(shù)據(jù)綁定中,我們使用String作為關(guān)鍵對(duì)象,并作為一個(gè)值對(duì)象映射類。相反,我們可以使用具體的Java對(duì)象和類型強(qiáng)制轉(zhuǎn)換到JSON使用。

考慮下面的例子使用一個(gè)類的UserData來(lái)保存用戶專用數(shù)據(jù)。

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

文件名: JacksonTester.java

import java.io.File;
import java.io.IOException;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.codehaus.jackson.JsonGenerationException;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.map.JsonMappingException;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.type.TypeReference;

public class JacksonTester {
   public static void main(String args[]){
      JacksonTester tester = new JacksonTester();
         try {
            ObjectMapper mapper = new ObjectMapper();

            Map userDataMap = new HashMap();
            UserData studentData = new UserData(); 
            int[] marks = {1,2,3};

            Student student = new Student();
            student.setAge(10);
            student.setName("Mahesh");
            // JAVA Object
            studentData.setStudent(student);
            // JAVA String
            studentData.setName("Mahesh Kumar");
            // JAVA Boolean
            studentData.setVerified(Boolean.FALSE);
            // Array
            studentData.setMarks(marks);
            TypeReference ref = new TypeReference>() { };
            userDataMap.put("studentData1", studentData);
            mapper.writeValue(new File("student.json"), userDataMap);
            //{
            //   "studentData1":
            //	 {
            //		"student":
            //		{
            //			"name":"Mahesh",
            //			"age":10
            //      },
            //      "name":"Mahesh Kumar",
            //      "verified":false,
            //      "marks":[1,2,3]
            //   }
            //}
            userDataMap = mapper.readValue(new File("student.json"), ref);

            System.out.println(userDataMap.get("studentData1").getStudent());
            System.out.println(userDataMap.get("studentData1").getName());
            System.out.println(userDataMap.get("studentData1").getVerified());
            System.out.println(Arrays.toString(userDataMap.上一篇:Jackson第一個(gè)程序