2016-06-08 38 views
1

如何使用com.fasterxml.jackson.databind.ObjectMapper到这样的JSON映射到对象列表地图:如何索引JSON与ObjectMapper

{ 
    "1": { 
    "id": 1, 
    "name": "Peter Parker", 
    "alias": "peter" 
    }, 
    "2": { 
    "id": 2, 
    "name": "Berry Allen", 
    "alias": "berry" 
    }, 
    "3": { 
    "id": 3, 
    "name": "Tony Stark", 
    "alias": "tony" 
    } 
} 

我索引号特别挣扎。如果没有这些连续的数字,我会做类似以下的事情,这很符合'普通'对象数组。

ObjectMapper mapper = new ObjectMapper(); 
List<People> people = mapper.readValue(jsonString, new TypeReference<List<People>>(){}); 

我希望有人能帮助我。提前致谢。

回答

0

的JSON结构表示的地图,而不是一个列表:

ObjectMapper mapper = new ObjectMapper(); 
Map<String, People> peopleMap = mapper.readValue(jsonString, new TypeReference<Map<String, People>>(){}); 
Collection<People> allPeople = peopleMap.values();