#Json

1 messages · Page 1 of 1 (latest)

jolly walrus
#

Mi bro, creo que vas a tener que hacer un adapter en donde puedas convertir (deserialize) el json manualmente. Me puedes pasar un ejemplo del json?

opaque jolt
#

Acabo de ver el mensaje.....lo puedo solucionar creando una data class y que me devuelva un objeto con los valores del json(pero no quiero 😀) o simplemente quitando el primer y el último carácter ( las comillas que sobran). Yo lo que quiero saber es porque pasa esto.....no se si me he explicado bien 🤔

jolly walrus
#

Creo que no te entiendo completamente 😅.

En mi experiencia, si el JSON llega con doble doble comillas, el servidor no te esta enviando en el formato correcto. Tienes un ejemplo del json como viene del servidor? Antes de convertirlo?

opaque jolt
#

este podria ser un ejemplo : {
"fecha": "2024-06-12 00:00:00",
"dia_semana": "mi\u00e9rcoles",
"id_sorteo": "1240101164",
"game_id": "BONO",
"apertura": "2024-06-11 21:10:00",
"cierre": "2024-06-12 21:00:00",
"anyo": "2024",
"premio_bote": null,
"destacar_bote": "0",
"cdc": "12401",
"recaudacion": null,
"estado": "abierto"
}

lunar berryBOT
#

Hey @opaque jolt, ¡has avanzando al nivel 2! picar

opaque jolt
#

...y esta es la manera de obtener el json : suspend inline fun <reified T> getInfoFromURL(url: String): List<T> {
val json = Json {
coerceInputValues = true
ignoreUnknownKeys = true
}
try {
val response: HttpResponse = client.get(url)
val dataString = response.bodyAsText()
return json.decodeFromString(dataString)
} catch (e: Exception) {
Log.e("ERROR en obtener resultados deasde $url", e.message.toString())
throw e
}

}
#

asi es solamente si quiero que me devuelva in JsonObject : suspend fun getInfoFromURL(url: String): List<JsonObject> {
val json = Json {
coerceInputValues = true
ignoreUnknownKeys = true
}
try {
val response: HttpResponse = client.get(url)
val dataString = response.bodyAsText()
return json.decodeFromString(dataString)
} catch (e: Exception) {
Log.e("ERROR en obtener resultados deasde $url", e.message.toString())
throw e
}

}
opaque jolt
#

...y cuando intento parsear la fecha me da : Exception in thread "main" java.text.ParseException: Unparseable date: ""2024-06-10 21:42:00""

jolly walrus
#

json no sabe como leer esa fecha. Le tienes que decir a json como hacer eso manualmente

opaque jolt
#

misterio resuelto 🤙 , el problema venia de como obtenia los valores del json ( .get("fecha").toString ) y la manera correcta es .get("fecha")?.jsonPrimitive?.content .......

jolly walrus
#

Listo 👍🏾 . Que estas creando?