【问题标题】:Retrofit-2.0 - Parse response having json within xmlRetrofit-2.0 - 解析在 xml 中包含 json 的响应
【发布时间】:2016-05-28 09:07:47
【问题描述】:

我正在使用 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 的新手,无法编写。

提前致谢

【问题讨论】:

    标签: android json xml converter retrofit2


    【解决方案1】:

    尝试将其转换为JsonElement 对象,但之后不要将其转换为JsonObjectJsonArray,因为您肯定会看到异常。之后调用 .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
    }
    

    【讨论】:

      猜你喜欢
      • 2021-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-02
      • 2018-12-17
      • 1970-01-01
      • 2013-05-08
      相关资源
      最近更新 更多