@Entity("station")
data class Station(
@PrimaryKey
val stationIdPk: Int,
val stationName: String,
val city: String,
val state: String,
val country: String,
val zipCode: String,
val stationInputPower: Double,
val latitude: Double,
val longitude: Double,
@SerializedName("chargepointCount")
val chargePointCount: Int,
@SerializedName("chargepoints")
val chargePoints: List
)
data class ChargePoint(
val chargePointIdPk: Int,
val totalConnectorCount: Int? = 0,
val chargingCount: Int? = 0,
val faultedCount: Int? = 0,
val connectionStatus: String?,
)
class StationConverters {
@TypeConverter
fun chargePointToString(chargePoint: ChargePoint): String {
val gson = Gson()
val json: String = gson.toJson(chargePoint)
return json
}
@TypeConverter
fun stringToChargePoint(chargePointString: String): ChargePoint {
val gson = Gson()
val chargePoint: ChargePoint = gson.fromJson(chargePointString, ChargePoint::class.java)
return chargePoint
}
@TypeConverter
fun chargePointListToString(chargePointList: List): String {
val gson = Gson()
val json: String = gson.toJson(chargePointList)
return json
}
@TypeConverter
fun stringToChargePointList(chargePointListString: String?): List {
val gson = Gson()
val type: Type = object : TypeToken() {}.type
val chargePoints: List = gson.fromJson(chargePointListString, type)
return chargePoints
}
}
@Query("SELECT chargePoints FROM station WHERE stationIdPk IN (:stationIds)")
suspend fun getStationsChargePoints(stationIds:List): List
Получение исключения с сообщением com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: ожидалось BEGIN_OBJECT, но было BEGIN_ARRAY в строке 1, столбце 2 пути $
В чем может быть возможная причина? Ищем решения. Заранее спасибо.
[code]@Entity("station") data class Station( @PrimaryKey val stationIdPk: Int, val stationName: String, val city: String, val state: String, val country: String, val zipCode: String, val stationInputPower: Double, val latitude: Double, val longitude: Double, @SerializedName("chargepointCount") val chargePointCount: Int, @SerializedName("chargepoints") val chargePoints: List ) data class ChargePoint( val chargePointIdPk: Int, val totalConnectorCount: Int? = 0, val chargingCount: Int? = 0, val faultedCount: Int? = 0, val connectionStatus: String?, )
class StationConverters {
@TypeConverter fun chargePointToString(chargePoint: ChargePoint): String { val gson = Gson() val json: String = gson.toJson(chargePoint) return json }
@TypeConverter fun stringToChargePoint(chargePointString: String): ChargePoint { val gson = Gson() val chargePoint: ChargePoint = gson.fromJson(chargePointString, ChargePoint::class.java) return chargePoint }
@TypeConverter fun chargePointListToString(chargePointList: List): String { val gson = Gson() val json: String = gson.toJson(chargePointList) return json }
@TypeConverter fun stringToChargePointList(chargePointListString: String?): List { val gson = Gson() val type: Type = object : TypeToken() {}.type val chargePoints: List = gson.fromJson(chargePointListString, type) return chargePoints } } [/code] При доступе к точкам начисления с помощью [code] @Query("SELECT chargePoints FROM station WHERE stationIdPk IN (:stationIds)") suspend fun getStationsChargePoints(stationIds:List): List [/code] Получение исключения с сообщением [b]com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: ожидалось BEGIN_OBJECT, но было BEGIN_ARRAY в строке 1, столбце 2 пути $[/b] В чем может быть возможная причина? Ищем решения. Заранее спасибо.