我正在调用Android中的Retrofit接口.并以ResponseBody的形式从POST方法中获取响应.

作为,我的API调用如下-

@POST("api/auth/store-login")
fun postLoginDetail(@Body userData: RequestBody):Call<ResponseBody>

现在,我希望将此调用的响应转换为JSONObject,以便可以在代码中使用它.

我做了这些-

    retrofitCall.enqueue(object : Callback<ResponseBody?> {
        override fun onResponse(call: Call<ResponseBody?>, response: Response<ResponseBody?>) {
            Log.e("response","responseNew ${response.body().toString()}")
            val responseBody = JSONObject("{${response.body().toString()}}")
        }

但它不工作,因为Log.e返回-responseNew okhttp3.ResponseBody$1@6015676 因此它不能被转换为JSON,因为response.body().to()String不是String或JSON格式.

我对postman 的实际回应是这样的- {"客户端":["客户端1","客户端2"],"HAS_MULTIPLE_CLIENTS":TRUE}

推荐答案

try 用response.body?.string()替换response.body().toString(),但确保保存结果,因为.string()会在被调用后清除信息,并在以后的响应中进行调用.Body不返回结果

Json相关问答推荐

如何使用JQ打印每个根级对象键一行?

导致此 Kotlin Retrofit2 错误的可能原因有哪些?

使用 jq 重新格式化 JSON 输出

使用 Powershell,如何将 Azure AD 组成员转换为 Json 对象(文件),然后可以更新?

PostgreSQL:删除 JSONB 数组中每个元素的特定键

根据值过滤输入的JSON并使用它准备预期的输出

如何强制仅有一个元素的数组在JSON中生成方括号

从 Inno Setup 中的 JSON 文件的每个对象中读取特定字符串

Golang gin接收json数据和图片

如何从条带订阅响应对象中正确获取 struct 项?

使用 Jolt 变换将平面 json 转换为具有多个数组的嵌套 Json

字典和对象的模型创建问题

Java的JSON字符串整洁/格式化程序

在 Http Header 中使用 Json 字符串

使用 gson 反序列化对象的特定 JSON 字段

如何在 Perl 中将简单的哈希转换为 json?

Sequelize - 如何仅返回数据库结果的 JSON 对象?

如何使用 Json.NET 反序列化可以是两种不同数据类型的 JSON 属性

通过 JSON 发送 64 位值的公认方式是什么?

通过url获取json数据并在python中使用(simplejson)