Manuelles Parsen eines Teils einer Antwort bei Verwendung von Retrofit

Ich arbeite mit einer REST-API, die ein JSON-Dokument zurückgibt, das wie folgt beginnt und eine "Sammlung" von Elementen mit Zeichenfolgen-IDs wie "ABC" enthält. Beachten Sie, dass das Feld "routes" eine Reihe von Feldern mit den Namen "ABC", "ABD", "ABE" usw. enthält. Routes wird jedoch nicht als Array in json dargestell

{
"status":true,
"page":1,
"per_page":500,
"total_count":1234,
"total_pages":8,
"total_on_page":500,
"routes":{
    "ABC":[
    {
        "value":22313,
        <......>

Ich verwende Retrofit und das Problem ist, dass das Routenfeld kein Array ist (obwohl es sich konzeptionell durchaus um ein Array handelt). Bei Retrofit / Gson muss ein Modellobjekt für Routen mit den Feldern abc, abd usw. erstellt werden nicht praktikabel, da sich die Daten ändern. Aus verschiedenen Gründen ist es schwierig, die Server-API zu ändern. Daher möchte ich dies auf dem Android-Client umgehen.

Ich glaube, das sind Optionen:

Fangen Sie das JSON-Dokument ab, bevor es Gson erreicht, und optimieren Sie das Dokument, möglicherweise mit einem angepassten Gson-Parser, oder indem Sie die HTTP-Antwort abfangen.

Umgehen Sie das JSON-Parsing und beziehen Sie das JSON-Dokument von Retrofit (ich habe noch nicht herausgefunden, wie das geht oder ob es möglich ist)

Verwenden Sie eine Funktion von Retrofit, die mir nicht bekannt ist, um Feldnamen einer Sammlung zuzuordnen.

Ich würde mich über Hilfe freuen, besonders wenn es einen schnellen und einfachen Weg gibt, das Problem zu lösen.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage