json - 如何用键的虚线名称形成json主体
问题描述
需要在 Kotlin 中为带有虚线名称的 JSON 正文请求形成对象。
还没有。
它在 Kotling 中使用以下对象模型来形成 json 正文请求:
val requestBody: Any = object : Any() {
val user = user
val paremeters: Any = object : Any() {
val parameter1 = parameter1
}
}
发送以下 json 正文请求:{ user: user, parameters: { parameter1: parameter1 } }
现在需要发送以下 json body 请求:
{ user: user,
parameters: {
user.parameter1: parameter1
}
}
所以在 Kitlin 中,它的名称不正确:
val requestBody: Any = object : Any() {
val user = user
val paremeters: Any = object : Any() {
val user.parameter1 = parameter1
}
}
你能提出一些解决方案吗?
需要用带点的键名形成请求的 json 正文。
解决方案
我认为在这里你不应该使用 a object
for youparameters
属性,而是 a Map<String, String>
,它允许带有任何字符的键:
val requestBody: Any = object : Any() {
val user = user
val parameters = mapOf("user.parameter1" to parameter1)
}
object
我相信为你正在做的事情创建一个命名类而不是实例化动态s会更好:
data class RequestBody(val user: String, val parameters: Map<String, String>)
val requestBody = RequestBody(user, mapOf("user.parameter1" to parameter1))
推荐阅读
- logging - ArangoDB:如何区分插入和更新操作与 WAL?
- mongodb - Mogodb update() 已弃用... updateOne() 有问题
- javascript - 如何在 React 中为增量和减量方法设置最大值和最小值
- macos - 如何避免在页面中替换引号
- django - 调用其他视图的 Django 搜索函数返回 ValueError
- sql - 给定字符串值和时间戳,如何在 BigQuery 中创建基于年份的自定义分区表?
- hibernate - 未找到持久性的休眠错误
- java - 将特定的 Java 枚举和类移植到 C#
- r - R - 为 Google BigQuery 导入清理数据
- algorithm - 动态和非动态编程中嵌套循环中递归的复杂性