Mapping von JSON mit variierendem Objektnamen

Ich bin ziemlich neu bei JSON und habe mich umgesehen, um herauszufinden, was zu tun ist, bin mir aber nicht sicher, ob ich alles richtig verstanden habe. Ich tätige einen externen API-Aufruf, der zurückgibt:

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

Wo 'USERNAME' (und USERNAME2 - die sich geringfügig von USERNAME unterscheiden können) variieren je nachdem, wie Sie die Parameter des Aufrufs übergeben. Ich habe Jackson Object Mapper verwendet, um die einzelnen Werte innerhalb des USERNAME-Objekts zuzuordnen. Es war mir jedoch nicht klar, dass ich das Objekt auch zuordnen musste.

Ich habe in den DTOs Anmerkungen verwendet wie:

@JsonProperty("profileIconId")
private Long profileIconId;

und Mapping mit:

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

Wie kann ich einen Wert von USERNAME zuordnen, der sich jedes Mal ändert?

Auch das scheint ein bisschen seltsam, ist es eine schlechte Praxis, den tatsächlichen variierenden Schlüssel zu haben, anstatt nur den gleichen Schlüssel und einen anderen Wert zu haben?

Vielen Dan

Antworten auf die Frage(4)

Ihre Antwort auf die Frage