解决Jackson转换到泛化类型List和Map

        ResponseEntity<String> stringResponseEntity = new RestTemplate().postForEntity("http://1.1.1.1:9080/xservices-node/nodeApi/getMachineServers", stringHttpEntity, String.class);

        System.out.println(stringResponseEntity.getBody());
        ObjectMapper objectMapper = new ObjectMapper();
        //设置输入时忽略在JSON字符串中存在但Java对象实际没有的属性
        objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
        //禁止使用int代表Enum的order()來反序列化Enum,非常危險
        objectMapper.configure(DeserializationFeature.FAIL_ON_NUMBERS_FOR_ENUMS, true);
        JavaType javaType = objectMapper.getTypeFactory().constructParametrizedType(ArrayList.class, LinkedHashMap.class, XsNodeVersion.class);
        try {
            List list = objectMapper.readValue(stringResponseEntity.getBody(), javaType);
            System.out.println(list);
        } catch (IOException e) {
            e.printStackTrace();
        }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容