#android #json #kotlin #gson
#Android #json #kotlin #gson
Вопрос:
Я должен использовать файл 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
or Venue
..
data class Team(
var id: Int,
var name: String,
var shortName: String,
var abbr: String,
var alias: String
)
Каков наилучший способ перевести этот json с использованием класса данных? в целом, этот json отображается в recyclingview.
Есть идеи, как правильно извлечь его и использовать в recyclerview?
Спасибо
Комментарии:
1. Все, что вы делаете, идеально подходит для меня. Кроме того, место может быть нулевым в случае, если оно делает его обнуляемым
Ответ №1:
Лично я бы использовал сериализацию Moshi или KotlinX для разбора ваших данных на объекты
Moshi добавляет несколько дополнительных зависимостей, необходимых для использования kotlin, а сериализация KotlinX была выполнена командой kotlin на 100%. kotlin plus поддерживает мультиплатформенность kotlin, если это представляет какой-либо интерес. Однако он довольно новый и только что вышел 1.0 несколько недель назад.
не могу ошибиться ни с тем, ни с другим