RestTemplate自定义Jackson JSON解串器

时间:2015-10-29 09:01:06

标签: java json jackson resttemplate

我得到一个JSON响应,如下所示:

[   {     "姓名":"这"   },   {     "名称":"那"   } ]

我宁愿不为此创建一个POJO(接收一个POJO数组),而只是获取一个带有值的String数组。那么我如何指示杰克逊这样做,然后与RestTemplate一起使用?

2 个答案:

答案 0 :(得分:0)

只需将List指定为目标类,jackson将使用List和Map编写等效的JSONArrays和JSONObjects

    final ObjectMapper mapper = new ObjectMapper ();
    try
    {
        final List readValue = mapper.readValue ("[{ 'name': 'This' }, { 'name': 'That' }]".replace ('\'', '"'), List.class);
        //readValue is a list of Map
    }
    catch (final IOException e)
    {
        e.printStackTrace();
    }

答案 1 :(得分:0)

你可以试试这个:

ParameterizedTypeReference<List<HashMap<String, String>>> typeRef = new ParameterizedTypeReference<List<HashMap<String, String>>>() {};
ResponseEntity<List<HashMap<String, String>>> response = new RestTemplate().exchange(youUrl, HttpMethod.GET, null, typeRef);