Здравствуйте, я использую GSON для анализа объекта маршрута, который содержит следующее JSON:
{
"mapOverlays": [
{
"id": 1,
"route": 73,
"url": "https://en.wikiarquitectura.com/wp-content/uploads//2017/01/White_House_distr_2C2BA.png",
"lat": 0.00,
"lng": 0.00,
"width": 2000,
"height": 1335,
"scale": 1,
"constraints": {
"w": [
0.00,
0.00
],
"x": [
0.00,
0.00
],
"y": [
0.00,
0.00
]
},
"flags": ""
}
]
}
Проблема в том, когда я пытаюсь получить доступ к JsonObject с ограничениями , Я получаю пустой объект JSONObject.
Вот класс модели данных базовых карт.
import com.google.gson.JsonObject
import com.travelstorysgps.travelstoryssdk.extensions.md5
import java.io.Serializable
class Basemap (
val id: Int,
val route: Int,
val url: String,
val lat: Double,
val lng: Double,
val width: Int,
val height: Int,
val scale: Double,
val constraints : JsonObject ,
val flags: String
) : Serializable {
val filename: String
get() = url.md5() + ".file"
}
И это результат, который я получаю, когда вызываю Basemap.constraints: I/System.out: [BASEMAP]: {}
Он должен содержат массивы JSONArrays с именами w, x и y.
Что-то не так с моим классом модели данных?
EDIT: Вот родительский объект Route:
package com.travelstorysgps.travelstoryssdk.data.model
import android.content.Context
import com.travelstorysgps.travelstoryssdk.data.Location
import java.io.Serializable
import java.util.*
import kotlin.math.floor
data class Route(
val route: RouteDefinition,
val tracks: List<Track>,
val geotags: List<Geotag>,
val images: List<Image>,
val music: List<Music>,
val assets: AssetList,
val orgs: List<Organization>,
val mapOverlays: List<Basemap>,
val ecoupons: List<Coupon>,
var distance: Int,
var routeKey: String = "",
var isDownloading: Boolean = false
) : Serializable {
val artists: List<Int>
get() = music.map { it.artist }.distinct()
}```