2016-02-16 4 views
4

Я использую Retrofit 2.0, и я хочу проанализировать пользовательский ответ. Запрос POST содержит json-формат. в то время как ответ представляет собой комбинацию как xml, так и json. Пример запроса:Retrofit-2.0 - Ответ на парсинг с json внутри xml

{"loginid":"10051"} 

Пример ответа:

<string xmlns="http://www.example.com/">{"user":"user1", "class":"1"}</string> 

так, Я хочу, чтобы получить JSon часть {"user":"user1", "class":"1"} от ответа.

Я попытался написать пользовательский конвертер. Но поскольку я новичок в Retrofit 2.0, не могу писать.

Заранее спасибо

ответ

0

Попробуйте преобразовать его в JsonElement объекта, но не превратить его после этого JsonObject или JsonArray, потому что вы будете видеть исключение наверняка. После этого вызовите метод .toString и проанализируйте все, что вы хотите от своего ответа.

Некоторые интерфейс для приема RequestBody в ответ:

@POST("/exampleRout") 
    Call<JsonElement> foo(@Body RequestBody requestBody); 

Ответ:

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 
}