Nhóm của chúng tôi quyết định sử dụng Retrofit 2.0 và tôi đang thực hiện một số nghiên cứu ban đầu về thư viện này. Như đã nêu trong tiêu đề, tôi muốn phân tích cú pháp một số đối tượng JSON lồng nhau thông qua Retrofit 2.0 trong ứng dụng Android của chúng tôi.Làm cách nào để Retrofit 2.0 phân tích cú pháp đối tượng JSON lồng nhau?
Ví dụ, here là một đối tượng JSON lồng nhau với các định dạng:
{
"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": ...
},
{...},
...
]
}
Tôi quan tâm đến các đối tượng JSON bên items
mảng. Tôi nhận thấy có some posts về phân tích cú pháp đối tượng JSON lồng nhau qua Retrofit 1.X, nhưng API Retrofit 2.0 mới nhất đã thay đổi rất nhiều, điều này gây nhầm lẫn khi thích ứng với API mới.
Hai giải pháp khả thi đi vào tâm trí tôi:
- Viết nhà máy chuyển đổi JSON của riêng tôi mà kéo dài Converter.Factory.
- Trả về phản hồi thô trong một loại Chuỗi và phân tích cú pháp đó theo chính tôi. Nhưng nó không phải dễ dàng để có được phản ứng thô từ Retrofit 2.0 theo nghiên cứu ban đầu của tôi. Retrofit 2.0 dường như nhấn mạnh trong việc chuyển đổi câu trả lời cho một cái gì đó trước khi chuyển nó cho tôi và Retrofit không cung cấp
StringConverter
riêng của mình. (Tôi có thể sai ~)
Cập nhật: Chúng tôi thực sự có thể nhận được câu trả lời liệu bằng cách thiết lập JSONElement
như POJO cho giao diện HTTP API và sử dụng GSONConverter cung cấp bởi Retrofit như bộ chuyển đổi.
Thật tuyệt vời nếu ai đó có thể chia sẻ một số ý tưởng về vấn đề này.
Cảm ơn :)
gì wil được trong mảng mục? Bạn có thể đăng phần đó không? –
@PankajKumar Cập nhật :) – hackjutsu
Tôi đã thêm một câu trả lời tương tự như JSON của bạn. Thử nó. –