Retrofit-2.0 – Parse respuesta que tiene json dentro de xml
Estoy utilizando Retrofit 2.0 y quiero analizar una respuesta personalizada. La solicitud POST contiene formato json. mientras que la respuesta es la combinación de xml y json. ejemplo de solicitud:
{"loginid":"10051"}
ejemplo de respuesta:
- Android.database.sqlite.SQLiteException: no hay tal columna
- Leer ApplicationManifest de Aplicación de Android (apk) usando .NET
- cómo poner texto bajo vista de imagen
- Documentación para estilos en recursos de Android
- Cadena de resultados de Android HttpUrlConnection truncada
<string xmlns="http://www.example.com/">{"user":"user1", "class":"1"}</string>
así, quiero obtener json part {"user":"user1", "class":"1"}
de la respuesta.
Intenté escribir el convertidor de encargo. Pero como soy nuevo en Retrofit 2.0, incapaz de escribir.
Gracias por adelantado
- Centrar un botón en un diseño Lineal
- Cómo crear las plantillas de plantilla múltiple como en la plantilla de notificación predeterminada en Android Studio
- ¿Cómo se muestra un NumberPicker de 2 dígitos en android?
- Atributos XML del diseño de combinación a RelativeLayout a través de inflar
- La imagen VectorDrawable se pixeliza
- Símbolo de porcentaje en strings.xml
- Interruptor de Android - cambia el fondo del interruptor en encendido / apagado
- Mejor editor de diseño XML de Android que el de Eclipse
Intente convertirlo en objeto JsonElement
, pero no lo convierta después de eso a JsonObject
o JsonArray
, porque verá la excepción con seguridad. Después de que llamar .toString
método .toString
y analizar con lo que quieras tu respuesta.
Alguna interfaz para recibir RequestBody como respuesta:
@POST("/exampleRout") Call<JsonElement> foo(@Body RequestBody requestBody);
Respuesta:
public void onResponse(Call<JsonElement> call, Response<JsonElement> response) { JsonElement jsonElement = response.body(); String yourResponseString = jsonElement.toString(); //parse it with regEx or XML parser and etc }
- cámara de encargo del androide estirada surfaceview
- El tema predeterminado no funciona después de habilitar el archivo Proguard (minifyEnabled true)