我必须在我的应用程序中使用一个json文件,并且我定义了一个不同的数据类来表示数据本身。json存储在应用程序的本地。
json如下所示:
[
{
"id":987847,
"type":"FixtureUpcoming",
"homeTeam":{
"id":43,
"name":"Manchester City",
"shortName":"Man City",
"abbr":"MNC",
"alias":"t43"
},
"awayTeam":{
"id":8,
"name":"Chelsea",
"shortName":"Chelsea",
"abbr":"CHL",
"alias":"t8"
},
"date":"2019-02-10T16:00:00.000Z",
"competitionStage":{
"competition":{
"id":8,
"name":"Premier League"
}
},
"venue":{
"id":2691,
"name":"Etihad Stadium"
},
"state":"preMatch"
},
{
"id":1036495,
"type":"FixtureUpcoming",
"homeTeam":{
...
]
因此,我创建了一个数据类,它表示这个数组的一个元素,如下所示:
data class FixtureItem(
var id: Int,
var type: String,
var homeTeam: Team,
var awayTeam: Team,
var date: String,
var competitionStage: List<Competition>,
var venue: Venue,
var state: String
)
并且一些其他元素也是定义的类,如Team
或Venue
。
data class Team(
var id: Int,
var name: String,
var shortName: String,
var abbr: String,
var alias: String
)
使用数据类翻译这个json的最好方法是什么?总的来说,这个json显示在一个recyclingview中。
你知道如何正确提取并在回收站使用它吗?
谢谢
1条答案
按热度按时间mqkwyuun1#
就我个人而言,我会使用Moshi或KotlinX Serialization将数据解析为对象
莫希添加了一些额外的依赖项来支持Kotlin的使用,KotlinX Serialization是由kotlin团队在100%的kotlin中完成的,如果你感兴趣的话,它还支持kotlin多平台。
不过这两个都不会出错