【问题标题】:retrofit generate unformatted complex json object改造生成无格式的复杂json对象
【发布时间】:2019-07-09 20:49:12
【问题描述】:

我遇到了一个很奇怪的问题

我正在尝试构建一个包含嵌套 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)

有人可以帮忙吗?

【问题讨论】:

  • 你试过this?
  • 是的,但它不起作用

标签: android json kotlin retrofit


【解决方案1】:

看来问题出在您的字符串类型的 JR 上。 所有其他参数的格式都正确吗? 因此,我建议您将类型 JR 提供给另一个自定义数据类,例如

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

【讨论】:

  • 并使用 val jsonParams : JRDataClass
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多