我正在尝试使用 OKhttp 库将 JSON 数据发送到服务器,但无法找到正确的语法。尝试了这篇文章中提供的解决方案 okhttp3 RequestBody in Kotlin该类现已弃用。
最佳答案
为了更清楚地了解上面给出的答案,这是您可以使用扩展功能的方式。
如果您正在使用 com.squareup.okhttp3:okhttp:4.0.1
创建 MediaType 和 RequestBody 对象的旧方法有已弃用,不能在 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/