android - 改造生成无格式的复杂json对象
问题描述
我有一个非常奇怪的问题
我正在尝试构建一个包含嵌套 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)
有人可以帮忙吗?
解决方案
看来问题出在您的字符串类型的 JR 上。所有其他参数的格式都正确吗?因此,我建议您将类型 JR 提供给另一个自定义数据类,例如
data class JRDataClass{ Text : String, //以及其他数据类型 }
推荐阅读
- c# - XML序列化在重新启动后将文件留空
- google-drive-api - 使用 Google Drive API,我如何找到包含一串数字的文件名?
- python - Python 使用 numpy.linalg.norm() 查找距离矩阵 --> 如何计算?
- python - 修改 django-allauth 库
- python - 以不同用户身份登录以使用 paramiko 运行命令
- apache - 根目录中的 Slim 4 .htacces 而不是 public
- reactjs - 我可以导航到 ReactComponent 代码之外的其他路由/组件吗?如何?
- python-3.x - 使用 for 循环 Python 打印字典的部分内容
- ssh - 在浏览器 SSH 客户端中
- android - Estimote Proximity Beacon 的抓取