改造生成未格式化的复杂json对象

时间:2019-07-09 20:49:12

标签: android json kotlin retrofit

我遇到了一个非常奇怪的问题

我正在尝试构建一个包含嵌套json的复杂json对象

我已经创建了它,但是当我发送请求时它崩溃了

这是我需要的格式

{"JR":"{"Text":"","userID":4,"Context":"","ClinicId":1}","TO":"getWatsonMessage","ver":2}

我在请求正文中找到的内容如下:

{"JR":"{\"Text\":\"\",\"userID\":4,\"Context\":\"\",\"ClinicId\":1}","TO":"getWatsonMessage","ver":2}

这会使应用程序崩溃

这是我的代码

data class MyBody @JvmOverloads constructor(
    @SerializedName("ver") val version: Int,
    @SerializedName("TO") val methodName: String,
    @SerializedName("JR") val jsonParams: String,
    @SerializedName("Method") var methodType: String? = null
)

这就是我创建子json对象

的方式
val jsonJR = JSONObject()
        jsonJR.put("Text",text)
        jsonJR.put("userID",userId)
        jsonJR.put("Context",context)
        jsonJR.put("ClinicId",clinicId)

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

问题似乎出在您的String类型的JR上。 所有其他参数都采用正确的格式吧? 因此,我建议您将类型JR提供给另一个自定义数据类,例如

数据类JRDataClass { 文字:字串, //以及其他数据类型 }