如何使用OkHttp发布JSON数据

如何使用OkHttp发布JSON数据,json,android-studio,kotlin,django-rest-framework,okhttp,Json,Android Studio,Kotlin,Django Rest Framework,Okhttp,我在Kotlin中使用OkHttp将JSON数据发布到我的RESTAPI端点。但是,JSONParser().parse(请求)给出了错误的请求错误。我认为使用OkHttp传递数据的方式存在一些问题。以下是相关代码: val url = "http://10.0.2.2:8000/dummy/" val JSON: MediaType? = MediaType.parse("application/json; charset=utf-8") val J

我在Kotlin中使用OkHttp将JSON数据发布到我的RESTAPI端点。但是,JSONParser().parse(请求)给出了错误的请求错误。我认为使用OkHttp传递数据的方式存在一些问题。以下是相关代码:

val url = "http://10.0.2.2:8000/dummy/"

val JSON: MediaType? = MediaType.parse("application/json; charset=utf-8")

val JSONObjectString = "{\"name\":\"Mahesh\"}" //The data I want to send

var body:RequestBody = RequestBody.create(JSON, JSONObjectString)
val request = Request.Builder().post(body).url(url).build()
val client = OkHttpClient()
client.newCall(request).enqueue(object : Callback {
override fun onResponse(call: Call, response: Response) {
         val tm = response?.body()?.string()
         println(tm)
}

override fun onFailure(call: Call, e: IOException) {
         Log.d("Failed", "FAILED")
         e.printStackTrace()
}
})
打印(请求.数据)
上给出:

{'name':'Mahesh'}

因此请求到达了终点,但是JSONParser().parse(request)给出了一个错误的请求错误,我认为当数据格式不正确时会发生这种错误。我传递数据的方式有什么问题?

负载在request.data中,因此应该对其进行分析

JSONParser().parse(request.data)

可能是JSONParser().parse(request)应该是JSONParser().parse(request.data)@YuriSchimke是的,这很有效!谢谢