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}
    }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章