JSON數據處理之jackson

相關Jar包:
  1. jackson-annotations-2.9.8.jar
  2. jackson-core-2.9.8.jar
  3. jackson-databind-2.9.8.jar
核心內容

jackson核心對象
ObjectMapper mapper = new ObjectMapper();

常用方法:
1.對象轉JSON

  • writeValue(參數1, obj)
    參數1:
    File:將obj對象轉換爲json字符串,並保存到指定的文件中
    Writer:將obj對象轉換爲json字符串,並將json數據填充到字符輸出流中
    OutputStream:將obj對象轉換爲json字符串,並將json數據填充到字節輸出流中
  • writeValueAsString(obj):將對象轉換爲json字符串

2.JSON轉對象

  • readValue(String content, Class valueType)
    content:json字符串
    valueType:要轉換的Java對象類型(如:Person.class)
對象轉JSON
  1. Java基本對象轉JSON
public void test1() throws Exception {
        // 1.創建person對象
        Person p1 = new Person();
        p1.setName("Lisa");
        p1.setAge(15);
        p1.setGender(0);
        // 2.創建Jackson核心對象ObjectMapper
        ObjectMapper mapper = new ObjectMapper();
        // 3.調用方法進行轉換
        String json = mapper.writeValueAsString(p1);
        System.out.println(json); // {"name":"Lisa","age":15,"gender":0}
    }
  1. list轉JSON
public void test2() throws Exception {
        // 1.創建person對象
        Person p1 = new Person();
        p1.setName("Lisa");
        p1.setAge(20);
        p1.setGender(0);
        Person p2 = new Person();
        p2.setName("Lily");
        p2.setAge(18);
        p2.setGender(0);
        Person p3 = new Person();
        p3.setName("Harry");
        p3.setAge(22);
        p3.setGender(1);
        ArrayList list = new ArrayList();
        list.add(p1);
        list.add(p2);
        list.add(p3);
        // 2.創建Jackson核心對象ObjectMapper
        ObjectMapper mapper = new ObjectMapper();
        // 3.調用方法進行轉換
        String json = mapper.writeValueAsString(list);
        System.out.println(json);   
        // [{"name":"Lisa","age":20,"gender":0},{"name":"Lily","age":18,"gender":0},{"name":"Harry","age":22,"gender":1}]
    }
  1. map轉JSON
public void test3() throws Exception {
        // 1.創建map並保存數據
        Map<String, Object> map = new HashMap<String, Object>();
        map.put("name", "Lisa");
        map.put("age", 18);
        map.put("gender", 0);
        // 2.創建Jackson核心對象ObjectMapper
        ObjectMapper mapper = new ObjectMapper();
        // 3.調用方法進行轉換
        String json = mapper.writeValueAsString(map);
        System.out.println(json);   // {"gender":0,"name":"Lisa","age":18}
    }
JSON轉對象
  1. JSON轉Java基本對象
public void test4() throws Exception {
        // 1.創建json字符串
        String json = "{\"name\":\"Lisa\",\"age\":18,\"gender\":0}";
        // 2.創建Jackson核心對象ObjectMapper
        ObjectMapper mapper = new ObjectMapper();
        // 3.調用方法進行轉換
        Person person = mapper.readValue(json, Person.class);
        System.out.println(person); // Person{name='Lisa', age=18, gender=0}

    }
  1. JSON轉list
public void test5() throws Exception {
        // 1.創建json字符串
        String json = "[{\"name\":\"Lisa\",\"age\":20,\"gender\":0},{\"name\":\"Lily\",\"age\":18,\"gender\":0}]";
        // 2.創建Jackson核心對象ObjectMapper
        ObjectMapper mapper = new ObjectMapper();
        // 3.調用方法進行轉換
        List list = mapper.readValue(json, List.class);
        System.out.println(list);
        //[{name=Lisa, age=20, gender=0}, {name=Lily, age=18, gender=0}]
    }
  1. JSON轉map
public void test6() throws Exception {
        // 1.創建json字符串
        String json = "{\"name\":\"Lisa\",\"age\":20,\"gender\":0}";
        // 2.創建Jackson核心對象ObjectMapper
        ObjectMapper mapper = new ObjectMapper();
        // 3.調用方法進行轉換
        Map map = mapper.readValue(json, Map.class);
        System.out.println(map);
        // {name=Lisa, age=20, gender=0}
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章