object JsonExample extends App {

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)))

}

转载于:https://blog.51cto.com/10120275/1953406

【总结】使用Json4s实现Scala对象转Json相关推荐

  1. scala 自带json_scala中复杂对象转JSON和解析的方法

    比如有一个复杂对象: Map[Int, Map[Int, Double]] 需要将其转为JSON保存,之后再读取使用,试了几种方法,最后的方案是: 1.定义case class 2.所有的数据类型都转 ...

  2. Scala中解析json工具对比

    写再前面的总结: 1, 做少量文件解析,优先用json4s,因为json4s时基于Scala开发的,对scala使用场景支持更好 2. 做大量数据的解析,追求序列化.反序列化速度时,考虑用fastjs ...

  3. Json对象和Json字符串

    JSON对象 有时候在做项目的时候时常将这两个概念弄混淆,尤其是在使用springmvc的时候,后台@RequestBody接受的是一个json格式的字符串,一定是一个字符串.  先介绍一下json对 ...

  4. java 嵌套对象转xml_Gson对Java嵌套对象和JSON字符串之间的转换 | 学步园

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,具有良好的跨平台特性.近几年来已经和XML一样成为C/S架构中广泛采用的数据格式.有关JSON的更多知识, ...

  5. json对象和json字符串转换方法

    在WEB数据传输过程中,json是以文本,即字符串的轻量级形式传递的,而客户端一般用JS操作的是接收到的JSON对象,所以,JSON对象和JSON字符串之间的相互转换.JSON数据的解析是关键. 先明 ...

  6. json数组 js html标签,js定义json对象数组 json 数组也是数组 //

    var jsonstr="[{'name':'a','value':1},{'name':'b','value':2}]"; var jsonarray = eval('('+js ...

  7. java 对象转json json转对象

    java 对象转json json转对象 import com.alibaba.fastjson.JSON;/*** * @title: fastjson * @author: wll* @since ...

  8. js 对象转json,json转对象

    简介: JSON.stringify   对象转json:查看对象中存储的数据 JSON.parse       json转对象:value=object.key 注:只有对象才可以通过 " ...

  9. 理解JSON对象:JSON.parse、 JSON.stringify

    何时是JSON,何时不是JSON? JSON就是一个有特殊规则的字符串,按照这个规则我们就可以把这个字符串解析成JS对象. JSON是设计成描述数据交换格式的,他也有自己的语法,这个语法是JavaSc ...

最新文章

  1. 程序员都痛恨开会?多开 1 个会,我少写 1000 行代码......
  2. Spring Cloud系列:不重启eureka,清除down掉的服务
  3. Python基础day04【字典(介绍、定义与访问、操作数据、常见操作)】
  4. 市场规模占全国4成,广东物联网市场发展强劲
  5. 绿屏后再现“粉屏”门!大量网友投诉iPhone 13粉屏问题 客服:非硬件问题
  6. bootstrap dialog
  7. Centos 安装Java JDK8
  8. 数据结构课程设计——学生成绩查询与分析系统(简单详细版,含讲解)
  9. 利用iTextsharp进行PDF页码旋转
  10. 共享编辑文档系统dzzoffice安装
  11. 手写深度学习之优化器(SGD、Momentum、Nesterov、AdaGrad、RMSProp、Adam)
  12. 斯坦福大学自然语言处理第七课“情感分析(Sentiment Analysis)”
  13. 【雅思】【写作】【大作文】Discuss both views and give your own opinion
  14. dis的前缀单词有哪些_前缀dis包含哪两种含义
  15. 经典语录_生命的智慧
  16. CTF之做题总结(一)
  17. 使用SMTP发送电子邮件
  18. Sci-hub文献下载器
  19. 青岛学计算机哪些学校好,青岛计算机专业哪些学校好
  20. Mac npm6.10.3包管理器下载依赖并运行项目的步骤

热门文章

  1. AI在智能建筑中的应用和发展
  2. 用深层神经网络解释大脑的运作
  3. 数字孪生技术,让酷炫的智慧城市不再遥不可及
  4. AI解读医学影像能力超越人类?BMJ综述:此类研究大多存在偏差
  5. 解析|一文读懂AGV的关键技术——激光SLAM与视觉SLAM的区别
  6. 群雄逐鹿,谁将赢得5G时代的物联网战争?
  7. 谷歌Jeff Dean团队提出利用深度学习对「电子健康记录」数据进行分析,可提高医疗诊断预测的准确性
  8. 神经网络:你的大脑是一台计算机吗?
  9. sklearn—无监督最近邻
  10. DHCP网络服务器的实现