我是新的编程。我有一个应用程序,检索json数据从api使用retrofit,但我有一个小问题,json响应包含动态顶级对象:
- 示例.json:*
{
"ISBN:0-7868-5629-7": {
"bib_key": "ISBN:0-7868-5629-7",
"info_url": "https://openlibrary.org/books/OL25747413M/The_Lightning_Thief",
"preview": "borrow",
"preview_url": "https://archive.org/details/lightningthief0000rior_u3l0",
"thumbnail_url": "https://covers.openlibrary.org/b/id/7357496-S.jpg",
"details": {...}
}
}
- JSON模型.kt:*
...
data class JSONModel(
@SerializedName("...") //<-- don't know how to annotate, should contain ISBN:<ISBN number>
@Expose
val isbn: ISBNModel
)
在这种情况下,如何注解动态顶层json对象?
更新似乎Gson在不使用@SerializedName(...)注解的情况下无法反序列化,我使用静态值进行了检查,结果正常。删除注解后,响应正文为空。是否需要此注解?
1条答案
按热度按时间kxxlusnw1#
删除JSONModel数据类并使用Map〈String,ISBNModel〉解决了@Marcono1234提到的问题
在我的情况下,因为我正在使用翻新:
这样就可以解决了