我正在使用 Retrofit 2.0,我想解析自定义响应。 POST 请求包含 json 格式。而响应是 xml 和 json 的组合。 示例请求:
{"loginid":"10051"}
示例响应:
<string xmlns="http://www.example.com/">{"user":"user1", "class":"1"}</string>
所以,
我想从响应中获取 json 部分 {"user":"user1", "class":"1"}
。
我尝试编写自定义转换器。但由于我是 Retrofit 2.0 的新手,无法编写。
提前致谢
最佳答案
尝试将其转换为 JsonElement
对象,但之后不要将其转换为 JsonObject
或 JsonArray
,因为您肯定会看到异常.之后调用 .toString
方法并解析任何你想要的响应。
接收 RequestBody 作为响应的一些接口(interface):
@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
}
关于android - Retrofit-2.0 - 解析在 xml 中包含 json 的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35443541/