Resumen del uso de la herramienta de conversión json en springmvc

La 是SpringMVC内置的json处理工具,其中有一个clase JacksonJson ObjectMapper`, puede realizar fácilmente el procesamiento de json.

Inyectar objetos ObjectMapper

@Autowired
    ObjectMapper objectMapper;

1. Convierta el objeto a json:
(use el método writeValueAsString del objeto objectMapper)

@Test
    void testObject2json() throws Exception{
    
    
        HashMap<String, User> map = new HashMap<>();
        map.put("laowang", new User(1, "pig", "gz sss", 1, new Date()));
        map.put("laowang", new User(2, "mouse", "gz sss", 1, new Date()));

        // 对象转json
        String json = objectMapper.writeValueAsString(map);
        System.out.println("json is " + json);
    }

Inserte la descripción de la imagen aquí

2. Convierta json en objetos ordinarios:
(utilizando el método readValue del objeto objectMapper)

@Test
    void testjson2Object() throws Exception{
    
    
        // json 串
        String json = "{\"id\":2,\"username\":\"mouse\",\"address\":\"gz sss\",\"sex\":1,\"birthday\":1608776995039}";

        User user = objectMapper.readValue(json, User.class);
        System.out.println(user);
    }

Inserte la descripción de la imagen aquí

3. Convierta la lista json en un objeto de lista:
(Utilice el método readValue del objeto objectMapper.) ReadValue (json, objectMapper.getTypeFactory (). ConstructCollectionType (ArrayList.class, User.class)

void testJson2ListObject() throws Exception {
    
    
        // 1.准备一个 json 的串
        ArrayList<User> list = new ArrayList<>();
        Collections.addAll(list,
                new User(1, "pig", "gz sss", 1, new Date()),
                new User(2, "dog", "sg sss", 1, new Date())
        );
        String json = objectMapper.writeValueAsString(list);
        System.out.println("json is " + json);

        // 2.将 列表 json 串 转换为  列表 User 对象
        List<User> users = objectMapper.readValue(json, objectMapper.getTypeFactory().constructCollectionType(ArrayList.class, User.class));

        for (User u : users) {
    
    
            System.out.println(u);
        }
    }

Inserte la descripción de la imagen aquí

4. Convierta la cadena json de cualquier estructura de objeto en el objeto correspondiente (aquí convertido a un objeto de mapa):
(Utilice el método readValue del objeto
objectMapper ). ReadValue (json, new TypeReference <Map <String, User >> () {})

@Test
    void testConvert() throws Exception{
    
    
        // json 串
        String json = "{\"laowang\":{\"id\":2,\"username\":\"mouse\",\"address\":\"gz sss\",\"sex\":1,\"birthday\":1608777260906}}";

        Map<String, User> map = objectMapper.readValue(json, new TypeReference<Map<String, User>>() {
    
    });
        System.out.println(map);
    }

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/Hambur_/article/details/111610217
Recomendado
Clasificación