java - 使用 Kotlin 使用 OkHttp 发送 JSON 数据

标签 java json kotlin okhttp

我正在尝试使用 OKhttp 库将 JSON 数据发送到服务器,但无法找到正确的语法。尝试了这篇文章中提供的解决方案 okhttp3 RequestBody in Kotlin该类现已弃用。

Code

最佳答案

为了更清楚地了解上面给出的答案,这是您可以使用扩展功能的方式。

如果您正在使用 com.squareup.okhttp3:okhttp:4.0.1 创建 MediaTypeRequestBody 对象的旧方法有已弃用,不能在 Kotlin 中使用。

如果您想使用扩展函数从您的字符串中获取一个MediaType 对象和一个ResponseBody 对象,首先将以下行添加到您期望的类中使用它们。

import okhttp3.MediaType.Companion.toMediaType
import okhttp3.RequestBody.Companion.toRequestBody

您现在可以通过这种方式直接获取MediaType对象

val mediaType = "application/json; charset=utf-8".toMediaType()

要获取RequestBody 的对象,首先要将要发送的JSONObject 转换为字符串,这样。您必须将 mediaType 对象传递给它。

val requestBody = myJSONObject.toString().toRequestBody(mediaType)

关于java - 使用 Kotlin 使用 OkHttp 发送 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57093440/

相关文章:

java - 如何渲染 Libgdx 位图字体,使其像素颜色与背景颜色相反?

ios - 使用 Swift 2 anexing JSON 数据时出错

javascript - 使用下划线在 javascript 中重新排序对象

javax.validation.constraints.NotNull 不适用于 Kotlin 中的 java.time.Instant

java - 在 Android studio : Kotlin 中保存实例状态

inheritance - 使用父类的实例属性初始化子Kotlin类的快速方法

Java Swing - 如何在Jpanel的北部添加图像

java - 尝试在 Pi 上的 java 中为 RXTX 的代码中设置 lib 路径

java - Hibernate拦截器.instantiate()

PHP、Javascript JSON、XSS 保护