Sto lavorando con un'API REST che restituisce un documento JSON che inizia come segue e include una "raccolta" di elementi con ID di stringa come "ABC". Notare il campo "percorsi", che contiene una serie di campi chiamati "ABC", "ABD", "ABE", ecc, tuttavia percorsi non è rappresentato come un array in JSON, così tutti questiAnalizza manualmente parte di una risposta quando si utilizza Retrofit
{
"status":true,
"page":1,
"per_page":500,
"total_count":1234,
"total_pages":8,
"total_on_page":500,
"routes":{
"ABC":[
{
"value":22313,
<......>
I sto usando Retrofit e il problema è che il campo dei percorsi non è un array (nonostante concettualmente lo sia certamente) e Retrofit/Gson mi richiedono di creare un oggetto modello per i percorsi con i campi vars abc, abd, etc - questo non è pratico mentre i dati cambiano. Per vari motivi, la modifica dell'API del server è difficile, quindi cerco di aggirare il problema sul client Android.
immagino questi sono mangiare:
intercettazione documento JSON prima che raggiunga GSON e modificare il documento, possibilmente con un parser GSON personalizzato, o intercettando la risposta HTTP.
Bypass il parsing JSON, e di acquisire il documento JSON da Retrofit (devo ancora capire come fare questo, o se è possibile)
Uso qualche caratteristica di retrofit sono a conoscenza di per mappare i nomi dei campi in una raccolta.
Apprezzerei molto l'aiuto, soprattutto se c'è un modo semplice e veloce per risolvere questo problema.
Lo stavo cercando da così tanto tempo ... Questo è il modo pulito per farlo, grazie! – MathieuMaree
che cos'è ApiDefinition.BASE_URL? –
Come usare questo? –