Сопоставление JSON с переменным именем объекта

Я совершенно новичок в JSON, и я искал, пытаясь понять, что делать, но не уверен, что полностью понимаю. Я делаю внешний вызов API, возвращая:

2015-12-21 01:22:09 INFO  RiotURLSender:60 - Total json: 
{"USERNAME":{"profileIconId":984,"revisionDate":1450655430000,"name":"USERNAME2","id":38584682,"summonerLevel":30}}

Где «ИМЯ ПОЛЬЗОВАТЕЛЯ» (И ИМЯ ПОЛЬЗОВАТЕЛЯ2 - которое может очень немного отличаться от ИМЯ ПОЛЬЗОВАТЕЛЯ) будет варьироваться в зависимости от того, что вы передаете параметры вызова. Я использовал Jackson Object Mapper для сопоставления отдельных значений в объекте USERNAME - но не осознавал, что мне нужно было также сопоставить объект.

Я использую аннотации в DTO, такие как:

@JsonProperty("profileIconId")
private Long profileIconId;

и отображение с использованием:

summonerRankedInfoDTO = mapper.readValue(jsonString, SummonerRankedInfoDTO.class);

Как мне сопоставить, используя значение USERNAME, которое меняется каждый раз?

Кроме того, это кажется немного странным, является ли это плохой практикой иметь фактический изменяющийся ключ, а не просто иметь тот же ключ и другое значение?

Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос