Il nostro team decide di utilizzare Retrofit 2.0 e sto facendo qualche ricerca iniziale su questa libreria. Come indicato nel titolo, voglio analizzare alcuni oggetti JSON nidificati tramite Retrofit 2.0 nella nostra app per Android.In che modo Retrofit 2.0 può analizzare l'oggetto JSON annidato?
Ad esempio, here è un oggetto JSON nidificata con il formato:
{
"title": "Recent Uploads tagged android",
"link": "https://www.flickr.com/photos/tags/android/",
"description": "",
"modified": "2015-10-05T05:30:01Z",
"generator": "https://www.flickr.com/",
"items": [
{
"title": ...
"link": ...
"media": {"m":"This is the value I want to get:)"}
"description": ...
"published": ...
"author": ...
"author_id": ...
"tags": ...
},
{...},
...
]
}
Mi interessa gli oggetti JSON all'interno items
matrice. Ho notato che ci sono some posts sull'analisi degli oggetti JSON nidificati tramite Retrofit 1.X, ma le ultime API di Retrofit 2.0 sono cambiate molto, il che confonde quando le si adatta alle nuove API.
Due possibili soluzioni vengono in mente:
- scrivere la mia propria fabbrica convertitore JSON che si estende Converter.Factory.
- Restituisce la risposta non elaborata in un tipo String e la analizza da solo. Ma non è facile ottenere la risposta grezza da Retrofit 2.0 secondo la mia ricerca iniziale. Retrofit 2.0 sembra insistere nel convertire la risposta a qualcosa prima di passarmelo e Retrofit non fornisce il proprio
StringConverter
. (Potrei sbagliarmi ~)
Aggiornamento: Possiamo effettivamente ottenere la risposta grezzo impostando JSONElement
come POJO per l'interfaccia API HTTP e utilizzare GSONConverter fornito dal retrofit come convertitore.
Sarebbe bello se qualcuno potesse condividere alcune idee su questo problema.
Grazie :)
Cosa wil essere in elementi array? Puoi pubblicare anche quella parte? –
@PankajKumar Aggiornato :) – hackjutsu
Ho aggiunto una risposta simile al tuo JSON. Provalo. –