내가 통해 Map<String, String>
에 JSON 문자열로 변환 구현 알고있다 : I 변환을 확장 할 수 없습니다 그러나잭슨 JSON
public <T1, T2> HashMap<T1, T2> getMapFromJson(String json, Class<T1> keyClazz, Class<T2> valueClazz) throws TMMIDConversionException {
if (StringUtils.isEmpty(json)) {
return null;
}
try {
ObjectMapper mapper = getObjectMapper();
HashMap<T1, T2> map = mapper.readValue(json, TypeFactory.defaultInstance().constructMapType(HashMap.class, keyClazz, valueClazz));
return map;
} catch (Exception e) {
Logger.error(e.getMessage(), e.getCause());
}
}
내 JSON은 Map<String, Set<String>>
입니다. 위의 방법은 설정 항목을 손상시키고 목록에 넣기 때문에 분명히 실패합니다. 여기에 도움이 필요해 !! 감사합니다.
샘플 JSON 문자열은 다음과 같습니다. 이 JSOn은 Map<String, Set<CustomClass>>
으로 변환되어야합니다.
{
"0": [
{
"cid": 100,
"itemId": 0,
"position": 0
}
],
"1": [
{
"cid": 100,
"itemId": 1,
"position": 0
}
],
"7": [
{
"cid": 100,
"itemId": 7,
"position": -1
},
{
"cid": 140625,
"itemId": 7,
"position": 1
}
],
"8": [
{
"cid": 100,
"itemId": 8,
"position": 0
}
],
"9": [
{
"cid": 100,
"itemId": 9,
"position": 0
}
]
}
JSON이 도움이 될 것입니다 ... –
샘플 JSON을 추가했습니다. 감사. –
그리고 어떻게 그것이 'Multimap'에 매핑됩니까? –