es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Qué podría causar (ERROR JSON: sin valor)?

He escrito un código en Kotlin que debería recuperar algunos datos para una aplicación de diccionario utilizando el objeto de solicitud JSON. Puedo ver que la llamada se realiza correctamente. El sitio web que recibe la llamada muestra los datos que se envían de vuelta, pero no estoy obteniendo nada de vuelta en el objeto de resultados. Logcat muestra este error (E/JSON ERROR: No hay valor para resultados). No estoy seguro de dónde me estoy equivocando al extraer los resultados. ¿Alguien puede señalarme en la dirección correcta?

El JSON

{
“results”:{
“result”:{
“term”:”consistent, uniform”,
“definition”:”the same throughout in structure or composition”,
“partofspeech”:”adj”,
“example”:”bituminous coal is often treated as a consistent and homogeneous product”
}
}
}

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    El problema parece ser que el código está tratando de recuperar el objeto “results” como un JSONObject, pero en realidad es un objeto anidado dentro de otro objeto. Por lo tanto, debería recuperarse como un JSONObject anidado.

    Para solucionarlo, puedes reemplazar la línea:

    val resultsObj = response.getJSONObject("results")
    

    Con:

    val resultsObj = response.getJSONObject("results").getJSONObject("result")
    

    Esto debería recuperar correctamente el objeto “result” y permitirte extraer los valores de término, definición, parte de la oración y ejemplo.

Comments are closed.