RUB*_*ARI 8 android json xmlserializer kotlin ktor
由于我是Android的新手,因此我正在构建一个应用程序,需要在该应用程序中更新Geo服务器上的图层数据。对于这种情况,我将与XML正文请求一起调用post方法。
我需要在请求正文中以xml格式发送数据,并且需要在xml中获取响应。为此,我尝试使用XmlSerializer代替JsonFeature,但出现错误,提示“ XmlSerializer不是同伴对象,需要在此处初始化”
val httpClient = HttpClient {
install(JsonFeature) {
serializer = KotlinxSerializer(Json.nonstrict)
}
}
Run Code Online (Sandbox Code Playgroud)
提前致谢!!
没有XML相关功能,但您可以使用现有的JsonXML 序列化器
您需要做的第一件事是找到合适的序列化器。我使用了https://github.com/pdvrieze/xmlutil。
implementation("net.devrieze:xmlutil-android:0.20.0.1")
Run Code Online (Sandbox Code Playgroud)
您还可以使用其他平台依赖项(我使用了JVM和 多平台)。
接下来,您可以JsonFeature使用自定义序列化器配置该功能:
implementation("net.devrieze:xmlutil-android:0.20.0.1")
Run Code Online (Sandbox Code Playgroud)
使用ContentType.Application.Xml
最后,添加序列化器:
val client = HttpClient {
Json {
serializer = XMLSerializer()
accept(ContentType.Application.Xml)
}
}
Run Code Online (Sandbox Code Playgroud)
以下是服务器的完整结果示例(采用在没有 Android 的情况下运行):https://gist.github.com/e5l/3b4d5d704b4d7c6e2a65cf68de8e9ca4
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |