将prepareStament对象转换为Json Scala

问题描述 投票:1回答:1

[我正在尝试将scalaStament(用于将SQL语句发送到数据库的对象)转换为带有scala的Json。

到目前为止,我发现在scala中将对象转换为Json的最佳方法是使用net.liftweb库。但是当我尝试它时,我得到了一个空的json。这是代码

import java.sql.DriverManager
import net.liftweb.json._
import net.liftweb.json.Serialization.write
object Main {
  def main (args: Array[String]): Unit = {
    implicit val formats = DefaultFormats

    val jdbcSqlConnStr = "sqlserverurl**"
    val conn = DriverManager.getConnection(jdbcSqlConnStr)
    val statement = conn.prepareStatement("exec select_all")

    val piedPierJSON2= write(statement)
    println(piedPierJSON2)
  }
}

这是结果

{}

我使用了我创建的对象,并且转换成功。

    case class Person(name: String, address: Address)
    case class Address(city: String, state: String)
    val p = Person("Alvin Alexander", Address("Talkeetna", "AK"))
    val piedPierJSON3 = write(p)
    println(piedPierJSON3)

这是结果

{"name":"Alvin Alexander","address":{"city":"Talkeetna","state":"AK"}}
scala jdbc prepared-statement
1个回答
0
投票

我知道问题出在哪里,PrepareStament是一个接口,并且其子类型都不是可序列化的...我将尝试将其包装起来并放在另一个类中。

© www.soinside.com 2019 - 2024. All rights reserved.