Scala解析Json格式

代码块

  • Scala原生包

    导入包    

    import scala.util.parsing.json._
   def main(args: Array[String]): Unit = {

     def regJson(json:Option[Any]) = json match {
case Some(map: Map[String, Any]) => map
// case None => "erro"
// case other => "Unknow data structure : " + other
}
val str = "{\"host\":\"td_test\",\"ts\":1486979192345,\"device\":{\"tid\":\"a123456\",\"os\":\"android\",\"sdk\":\"1.0.3\"},\"time\":1501469230058}"
val jsonS = JSON.parseFull(str)
val first = regJson(jsonS)
// 获取一级key
println(first.get("host"))
// 获取二级key
val dev = first.get("device")
println(dev)
val sec = regJson(dev)
println(sec.get("tid").toString.replace("Some(","").replace(")",""))
}

运行结果

Some(td_test)
Some(Map(tid -> a123456, os -> android, sdk -> 1.0.3))
a123456

  • GSON包

    导入包    

    import com.google.gson.{JsonObject, JsonParser}
 def main(args: Array[String]): Unit = {

     gson("{\"host\":\"td_test\",\"ts\":1486979192345,\"device\":{\"tid\":\"a123456\",\"os\":\"android\",\"sdk\":\"1.0.3\"},\"time\":1501469230058}")

   }

   def gson(str: String) ={
val json = new JsonParser()
val obj = json.parse(str).asInstanceOf[JsonObject]
println(obj.get("device"))
println(obj.get("ts"))
}

运行结果:

{"tid":"a123456","os":"android","sdk":"1.0.3"}
1486979192345

最新文章

  1. js+html5双人五子棋(源码下载)
  2. delphi xe4 ini文件不能读取的解决方法
  3. PAT 1067. Sort with Swap(0,*)
  4. docker offical docs:Working with Docker Images
  5. AI编辑SVG格式的相关问题
  6. Liunx 配置IDE
  7. WPF多线程问题
  8. 大数据学习(8)Hive基础
  9. c++项目范例
  10. wifi破解基础及工具的使用
  11. vim8.0模式详解
  12. re:从零开始的数位dp
  13. c# 封装Dapper操作类
  14. TensorFlow 生成 .ckpt 和 .pb
  15. Linux-- 查看文件 more与其它
  16. Linux的权限对于文件与目录的意义
  17. 机器学习(Machine Learning)
  18. [BZOJ5120] [2017国家集训队测试]无限之环
  19. Routing in ASP.NET Web API
  20. 外部jar包 @Service 无法注解无法扫描问题

热门文章

  1. 对象的属性类型 和 VUE的数据双向绑定原理
  2. ASP.NET MVC5 之 客户端实现文件的下载
  3. Manacher HDOJ 5371 Hotaru's problem
  4. 398 Random Pick Index 随机数索引
  5. 378 Kth Smallest Element in a Sorted Matrix 有序矩阵中第K小的元素
  6. RabbitMQ二:AMQP协议
  7. 第5章分布式系统模式 Singleton
  8. 总结esp8266刷Python的完整的步骤(终极总结)
  9. python自动化--mock、webservice及webdriver模拟手机浏览器
  10. TF实战:(Mask R-CNN原理介绍与代码实现)-Chapter-8