JSON序列化和反序列化工具


目录:

  1.依赖错标

  2.FastJson

1.依赖错标


    <dependency>
      <groupId>com.fasterxml.jackson.coregroupId>
      <artifactId>jackson-databindartifactId>
      <version>2.9.10.3version>
    dependency>
    
    <dependency>
      <groupId>com.alibabagroupId>
      <artifactId>fastjsonartifactId>
      <version>1.2.62version>
    dependency>
    
    <dependency>
      <groupId>com.google.code.gsongroupId>
      <artifactId>gsonartifactId>
      <version>2.8.6version>
    dependency>

2.FastJson

  序列化:POJO、Array、List、Map

    JSON.toJSONString(Object obj);

  反序列化:POJO、Array、List、Map

    POJO、Array:JSON.parseObject(String text,Class class)

    List、Map:JSON.parseObject(String text,new TypeReference{})

//(2)  序列化:POJO、Array、List、Map
    @Test
    public void objectToJson(){
        Student student = new Student();
        student.setId(1);
        student.setName("张三");
        student.setAge(20);
        student.setAddress("北京市");
        student.setEmail("zs@sina.com");
        String str = JSON.toJSONString(student);
        System.out.println("str = " + str);
    }

    @Test
    public void arrayToJson(){
        String[] arr = {"tom","jack","lin"};
        String s = JSON.toJSONString(arr);
        System.out.println("s = " + s);
    }

    @Test
    public void listToJson(){
        ArrayList list = new ArrayList<>();
        list.add("aaa");
        list.add("bbb");
        list.add("ccc");
        list.add("ddd");
        String s = JSON.toJSONString(list);
        System.out.println("s = " + s);
    }

    @Test
    public void mapToJson(){
        HashMap map = new HashMap<>();
        map.put("k1","v1");
        map.put("k2","v2");
        map.put("k3","v3");
        String s = JSON.toJSONString(map);
        System.out.println("s = " + s);
    }

    //(3) 反序列化:POJO、Array、List、Map
    @Test
    public void jsonToObject(){
        Student student = JSON.parseObject("{\"address\":\"北京市\",\"age\":20,\"email\":\"zs@sina.com\",\"id\":1,\"name\":\"张三\"}", Student.class);
        System.out.println("student = " + student);
    }
    @Test
    public void jsonToArray(){
        String[] arr = JSON.parseObject("[\"tom\",\"jack\",\"lin\"]", String[].class);
        System.out.println("arr = " + Arrays.toString(arr));
    }
    @Test
    public void jsonToList(){
        List list = JSON.parseObject("[\"aaa\",\"bbb\",\"ccc\",\"ddd\"]", new TypeReference() {});
        System.out.println("list = " + list);

    }
    @Test
    public void jsonToMap(){
        Map map = JSON.parseObject("{\"k1\":\"v1\",\"k2\":\"v2\",\"k3\":\"v3\"}", new TypeReference>() {});
        System.out.println("map = " + map);
    }