我得到一个JSON响应,如下所示:
[ { "姓名":"这" }, { "名称":"那" } ]
我宁愿不为此创建一个POJO(接收一个POJO数组),而只是获取一个带有值的String数组。那么我如何指示杰克逊这样做,然后与RestTemplate一起使用?
答案 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);