Jackson框架學習

ec3y 9年前發布 | 24K 次閱讀 Jackson JSON開發包

1、jackson 框架:這個框架提供了JsonGenerator   ,ObjectMapper兩個類通過這兩個類提供的方法可以將java 對象轉化為json 對象,json 數組格式,也可以將json對象、數組格式轉化為java對象。

2、json-lib框架也可以進行json格式和java 對象之間的相互轉化,json-lib提供的類主要有:JSONObject ,JSONArray....

3、展現使用兩種框架進行相互轉化:

一、json-lib:

package com.inspur.json;
import java.util.ArrayList;
import java.util.List;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class JSONTest {
    public static void main(String[] args) {
        User u = new User();
        u.setName("name1");
        u.setAge(1);
        u.setPhone("123");
        User u2 = new User();
        u2.setName("name2");
        u2.setAge(2);
        u2.setPhone("321");
        List list = new ArrayList();
        list.add(u);

    list.add(u2);

    // 創建JSONObject 對象

    JSONObject jobg = new JSONObject();

   // 創建JSONObject 對象

    JSONArray arr = new JSONArray();

   // 將對象轉化為json對象的格式

    JSONObject str = jobg.fromObject(u);

 // 將list集合轉化為json數組的格式
    JSONArray str1 = arr.fromObject(list);
    System.out.print(str);
    System.out.print("\n");
    System.out.print(str1);

}

}

/ 運行結果 /

{"age":1,"name":"name1","phone":"123"} [{"age":1,"name":"name1","phone":"123"},{"age":2,"name":"name2","phone":"321"}]</pre>



二、jackson框架提供的兩個類 JsonGenerator    ObjectMapper


package com.jackson.test;
import java.util.ArrayList;
import java.util.List;
import org.codehaus.jackson.JsonEncoding;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.map.ObjectMapper;
public class Test {
    public static void main(String[] args) {
        User u = new User();
        u.setName("name1");
        u.setAge(1);
        u.setSex("man");
        User u2 = new User();
        u2.setName("name2");
        u2.setAge(2);
        u2.setSex("man");
        List list = new ArrayList();
        list.add(u);
        list.add(u2);
        ObjectMapper obj = new ObjectMapper();
        JsonGenerator jg = null;

    try {
        jg = obj.getJsonFactory().createJsonGenerator(System.out,
                JsonEncoding.UTF8);
        System.out.println("jsonGenerator");
        // writeObject可以轉換java對象,eg:JavaBean/Map/List/Array等
        jg.writeObject(u);
        System.out.println();
        jg.writeObject(list);
        System.out.println();
        System.out.println("ObjectMapper");
        // writeValue具有和writeObject相同的功能

        obj.writeValue(System.out, list);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

}

/ 運行結果 /

jsonGenerator {"name":"name1","age":1,"sex":"man"} [{"name":"name1","age":1,"sex":"man"},{"name":"name2","age":2,"sex":"man"}] ObjectMapper [{"name":"name1","age":1,"sex":"man"},{"name":"name2","age":2,"sex":"man"}]</pre>

jackson框架jar包下載:http://download.csdn.net/detail/qh_java/7767473

json 框架jar包下載:http://download.csdn.net/detail/qh_java/7767511

 本文由用戶 ec3y 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!