admin管理员组文章数量:1289483
I m building a Kotlin application (for Android). I need to convert GSON in Object.
This is the content of my FuelJSON:
{"status":1,"message":"Ok","result":[{"devices":[{"id":2,"name":"Zephyr","description":"Zephyr","brand":"Zephyr","macaddress":"A0:E6:F8:EF:F7:44","rotationTime":60,"parametri":[{"idParameter":1,"parameter":"Battito cardiaco","syncWs":true,"syncMqtt":false},{"idParameter":2,"parameter":"Frequenza respiratoria","syncWs":true,"syncMqtt":false},{"idParameter":3,"parameter":"Postura","syncWs":true,"syncMqtt":false},{"idParameter":4,"parameter":"Temperatura","syncWs":true,"syncMqtt":false},{"idParameter":5,"parameter":"ECG","syncWs":true,"syncMqtt":false},{"idParameter":6,"parameter":"RR","syncWs":true,"syncMqtt":false},{"idParameter":8,"parameter":"Attività Fisica","syncWs":true,"syncMqtt":false}]}],"defaultParameter":{"invioDatiWS":true,"tempoInvioDatiWS":60,"invioDatiMqtt":false,"tempoRotazioneZephyr":600,"tempoScansioneZephyr":60,"tempoRotazioneDosimetro":60,"tempoScansioneDosimetro":20,"tempoRotazioneBeacon":60,"tempoScansioneBeacon":25}}]}
This is the code:
ApiHandler.getInstance().deviceList(devRequest) { deviceListJSON ->
Log.i(TAG,"device scaricati " + deviceListJSON.toString());
var mUser = Gson().fromJson(deviceListJSON.toString(), DeviceConfiguration::class.java)
}
This is the DeviceConfiguration class:
package model.dataModel
import android.graphics.Bitmap
import kotlinx.serialization.descriptors.PrimitiveKind
import java.io.Serializable
data class DeviceResponse(
val status: String,
val message: String,
val result: List<DeviceConfiguration>
)
data class DeviceConfiguration(
val id: Int,
val nome: String,
val descrizione: String?,
val distanza: Double?,
val livelloDifficolta: String?,
val alititudineMax: Double?,
val alititudineMin: Double?,
val tipoPercorso: String?,
val tempoInMovimento: Int,
val tempoTotale: Int,
val dislivello: Double?,
val devices: List<Dev>,
val defaultParameter: DefaultParameter,
) : Serializable
data class Dev(
val id: Int,
val name: String,
val description: String,
val brand: String,
val macaddress: String,
val rotationTime: Int,
val parametri: List<Parametri>,
): Serializable
data class Parametri(
val idParameter: Int,
val parameter: String,
val syncWs: Boolean,
val syncMqtt: Boolean
): Serializable
data class DefaultParameter(
val invioDatiWS: Boolean,
val tempoInvioDatiWS: Int,
val invioDatiMqtt: Boolean,
val tempoRotazioneZephyr: Int,
val tempoScansioneZephyr: Int,
val tempoRotazioneDosimetro: Int,
val tempoScansioneDosimetro: Int,
val tempoRotazioneBeacon: Int,
val tempoScansioneBeacon: Int
): Serializable
This is the error:
Error retrieving device list
java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
com.github.kittinunf.fuel.core.FuelError$Companion.wrap(FuelError.kt:86)
com.github.kittinunf.fuel.core.FuelError$Companion.wrap$default(FuelError.kt:83)
com.github.kittinunf.fuel.core.requests.RequestTaskCallbacks.call(RequestTaskCallbacks.kt:30)
Caused by: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $
com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:226)
com.google.gson.Gson.fromJson(Gson.java:932)
com.google.gson.Gson.fromJson(Gson.java:897)
com.google.gson.Gson.fromJson(Gson.java:846)
com.google.gson.Gson.fromJson(Gson.java:817)
it.eresult.silvermountain.MenuActivity$onCreate$2.invoke(MenuActivity.kt:94)
it.eresult.silvermountain.MenuActivity$onCreate$2.invoke(MenuActivity.kt:92)
it.eresult.silvermountain.helpers.handlers.ApiHandler$deviceList$1$1.invoke(ApiHandler.kt:280)
it.eresult.silvermountain.helpers.handlers.ApiHandler$deviceList$1$1.invoke(ApiHandler.kt:276)
com.github.kittinunf.fuel.core.DeserializableKt$response$1.invoke(Deserializable.kt:107)
com.github.kittinunf.fuel.core.DeserializableKt$response$1.invoke(Unknown Source:4)
com.github.kittinunf.fuel.core.DeserializableKt$response$asyncRequest$1$1.invoke(Deserializable.kt:208)
com.github.kittinunf.fuel.core.DeserializableKt$response$asyncRequest$1$1.invoke(Unknown Source:0)
com.github.kittinunf.fuel.core.RequestExecutionOptionsKt$sam$java_lang_Runnable$0.run(Unknown Source:2)
com.github.kittinunf.fuel.core.DefaultEnvironment$callbackExecutor$1.execute(Environment.kt:16)
com.github.kittinunf.fuel.core.RequestExecutionOptions.callback(RequestExecutionOptions.kt:44)
com.github.kittinunf.fuel.core.DeserializableKt$response$asyncRequest$1.invoke(Deserializable.kt:206)
com.github.kittinunf.fuel.core.DeserializableKt$response$asyncRequest$1.invoke(Unknown Source:2)
com.github.kittinunf.fuel.core.requests.RequestTaskCallbacks.call(RequestTaskCallbacks.kt:29)
com.github.kittinunf.fuel.core.requests.RequestTaskCallbacks.call(RequestTaskCallbacks.kt:20)
java.util.concurrent.FutureTask.run(FutureTask.java:264)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:644)
java.lang.Thread.run(Thread.java:1012)
本文标签: androidParse FuelJson to ObjectStack Overflow
版权声明:本文标题:android - Parse FuelJson to Object - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741395044a2376326.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论