【总结】使用Json4s实现Scala对象转Json-创新互联
object JsonExample extends App {
发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及高空作业车租赁等,在网站建设公司、成都营销网站建设、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。import org.json4s.JsonDSL._
import org.json4s.jackson.JsonMethods._
//第一部分,官网例子
case class Winner(id: Long, numbers: List[Int])
case class Lotto(id: Long, winningNumbers: List[Int], winners: List[Winner], drawDate: Option[java.util.Date])
val winners = List(Winner(23, List(2, 45, 34, 23, 3, 5)), Winner(54, List(52, 3, 12, 11, 18, 22)))
val lotto = Lotto(5, List(2, 45, 34, 23, 7, 5, 3), winners, None)
val json =
("lotto1" ->
("lotto-id" -> lotto.id) ~
("winning-numbers" -> lotto.winningNumbers) ~
("draw-date" -> lotto.drawDate.map(_.toString)) ~
("winners" ->
lotto.winners.map { w =>
(("winner-id" -> w.id) ~
("numbers" -> w.numbers))}))
println(compact(render(json)))
//第二部分,参照官网例子写的
case class StatInfo(min: String, max: String, nullCount: Long, notNullCount: Long, maxLength: Int)
case class TableStatInfo(tableName: String, count: Long, statInfo: List[StatInfo])
// val statInfo = StatInfo("1","2", 10, 12, 202)
val statInfoList = List(StatInfo("1","2", 10, 12, 202), StatInfo("1","2", 10, 12, 202))
val tableStatInfo = new TableStatInfo("biz_hotelorder", 0 , statInfoList)
val json1 =
("tableStatInfo" ->
("tableName" -> tableStatInfo.tableName) ~
("itemCount" -> tableStatInfo.count) ~
("StatInfo" ->
tableStatInfo.statInfo.map { w =>
(("min" -> w.min) ~
("max" -> w.max) ~
("nullCount" -> w.nullCount) ~
("notNullCount" -> w.notNullCount) ~
("maxLength" -> w.maxLength))}))
println(compact(render(json1)))
}
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
当前名称:【总结】使用Json4s实现Scala对象转Json-创新互联
文章链接:http://azwzsj.com/article/dgjoeg.html