【问题标题】:Retrofit 2 working with response that is not always XML or Json改造 2 使用不总是 XML 或 Json 的响应
【发布时间】:2020-10-04 10:45:25
【问题描述】:

我正在构建一个应读取服务器响应并处理数据的 Android 应用。

作为用户,我能够控制是否获得 XML 或 Json 类型的响应。但是,在某些情况下,数据可能不是 XML 或 Json 格式,而是原始 HTML,这就是我苦苦挣扎的地方。

此时我正在处理 XML 格式的响应。现在,我正在使用 HttpUrlConnection 以字符串形式获得响应。然后,我使用<?xml version="1.0" encoding="utf-8"?> 并在响应字符串中查找它。如果找到,那么我知道请求成功并且我得到了我需要的响应,因此我继续解析和处理数据,如果没有找到,那么我只是显示一个错误,仅此而已。

现在,我正在尝试使用其转换器迁移到 Retrofit 2,并且我已经使用 SimpleXML 成功实现了它,并且我能够解析我收到的 XML 数据,但是一旦我获得 HTML 数据,应用程序就会崩溃因为它不能用XML解析器解析HTML,这是可以理解的。

所以我的问题是:

  1. 有没有办法解决这个问题?
  2. 是否有可能使用 Retrofit 获得字符串响应,如果是这样,通过相同的过程但使用 Retrofit 而不是 HttpUrlConnection 是否有任何优势?

【问题讨论】:

    标签: java android kotlin retrofit2


    【解决方案1】:

    您可以尝试几件事:-

    • 要求改造按原样返回字符串响应并手动处理

    • 要求改造返回Object 并执行运行时instanceof 检查以确定您的下一步行动。

    您可能还想查看this

    【讨论】:

      猜你喜欢
      • 2017-08-07
      • 1970-01-01
      • 2019-05-09
      • 1970-01-01
      • 2019-03-14
      • 2019-05-05
      • 2021-06-17
      • 2017-04-19
      • 1970-01-01
      相关资源
      最近更新 更多