Parse FuelJson для возраженияAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Parse FuelJson для возражения

Сообщение Anonymous »

Я создаю приложение Kotlin (для Android). Мне нужно преобразовать GSON в объект.{"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}}]}
< /code>
Это код: < /p>
ApiHandler.getInstance().deviceList(devRequest) { deviceListJSON ->
Log.i(TAG,"device scaricati " + deviceListJSON.toString());
var mUser = Gson().fromJson(deviceListJSON.toString(), DeviceConfiguration::class.java)
}
< /code>
Это класс DeviceConfiguration: < /p>
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
)

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,
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,
): 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
< /code>
Это ошибка: < /p>
Список устройств по ошибке < /p>
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)



Подробнее здесь: https://stackoverflow.com/questions/794 ... -to-object
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»