我使用非json格式调用的api。我的回答是这样的。
field1=value1&field2=value2&field3=value3
这种格式叫什么?它看起来与您通常在查询中发送的内容完全相同。我想用改型来解析这个响应。有什么想法吗?非常感谢。
nqwrtyyt1#
它被称为 query . 只有 value 部分是您需要配置。
query
value
@GET("link/anything") suspend fun getTripDetail( @Query("value1") value1: String, @Query("value2") value2: String, @Query("value3") value3: String, ): Response<TripDetailResponse>
disho6za2#
下面是一个扩展函数,用于将其解析为Map。在那之后,你很容易就可以通过做这些事情来抓住这些领域 map["field1] 例如
map["field1]
fun String.parseQueryFormat() : Map<String, String>{ val queryPairs: MutableMap<String, String> = LinkedHashMap() val pairs = this.split("&").toTypedArray() for (pair in pairs) { val idx = pair.indexOf("=") queryPairs[URLDecoder.decode(pair.substring(0, idx), "UTF-8")] = URLDecoder.decode(pair.substring(idx + 1), "UTF-8") } return queryPairs }
.
val responseString = responseBody.string() val map = responseString.parseQueryFormat() val field1 = map["field1"] val field2 = map["field2"]
2条答案
按热度按时间nqwrtyyt1#
它被称为
query
. 只有value
部分是您需要配置。disho6za2#
下面是一个扩展函数,用于将其解析为Map。在那之后,你很容易就可以通过做这些事情来抓住这些领域
map["field1]
例如.