получить данные из базы данных для записи в формате Json In Scala - PullRequest
0 голосов
/ 22 ноября 2018

Помогите, я хочу запросить данные из базы данных и сохранить их в формате json, а затем ответить клиенту.

implicit val locationWrites1: Writes[Location] = (
  (JsPath \ "id").write[String] and
    (JsPath \ "desc").write[String]
  ) (unlift(Location.unapply))
db.withConnection { conn =>
  val stm = conn.createStatement()
  val res = stm.executeQuery(
    """
       SELECT notes_id,notes_desc FROM notes
    """
  )
  while (res.next()) {
    Location(res.getString(1), (res.getString(2)))
  }
}
val result = Json.toJson(locationWrites1)

Ok(result)

введите описание изображения здесь

1 Ответ

0 голосов
/ 22 ноября 2018

Сначала вы должны удерживать местоположения в переменной.этот код просто читает данные из БД и не хранит их где-либо:

while (res.next()) {
 Location(res.getString(1), (res.getString(2)))
}

Вы должны сохранить результат, например так:

val locationsList = mutable.ListBuffer[Location]()
while (res.next()) {
 locationsList.append(Location(res.getString(1), (res.getString(2))))
}

, затем создать формат последовательности,например:

 val locationSeqWrites = Writes.seq(locationWrites1)

, затем преобразуйте список в строку json:

val jsonResponse = locationSeqWrites.writes(locationsList).toString
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...