Как сформировать тело JSON с точечным названием ключа - PullRequest
0 голосов
/ 19 апреля 2019

Необходимо сформировать объект в Kotlin для запроса тела JSON с точечным именем ключа.

Пока ничего.

Для формирования запроса тела json используется следующая объектная модель в Kotling:

val requestBody: Any = object : Any() {
        val user = user
        val paremeters: Any = object : Any() {
            val parameter1 = parameter1
        }
    }

для отправки следующего запроса json body: {пользователь: пользователь, параметры: { параметр1: параметр1 } }

Теперь необходимо отправить следующий запрос json body:

{ user: user,
  parameters: {
      user.parameter1: parameter1
  }
}

Так что в Китлине это неправильное имя с точкой:

val requestBody: Any = object : Any() {
            val user = user
            val paremeters: Any = object : Any() {
                val user.parameter1 = parameter1
            }
        }

Не могли бы вы предложить некоторые решения для этого?

Необходимо сформировать тело json для запроса с точечными именами ключей.

1 Ответ

0 голосов
/ 19 апреля 2019

Я думаю, что здесь вы должны использовать не object для вас parameters свойство, а 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))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...