zoukankan      html  css  js  c++  java
  • Scala解析Json格式

     

    Scala解析Json格式

    代码块

    • Scala原生包

        导入包    

        import scala.util.parsing.json._
     1   def main(args: Array[String]): Unit = {
     2 
     3     def regJson(json:Option[Any]) = json match {
     4       case Some(map: Map[String, Any]) => map
     5 //      case None => "erro"
     6 //      case other => "Unknow data structure : " + other
     7     }
     8     val str = "{"host":"td_test","ts":1486979192345,"device":{"tid":"a123456","os":"android","sdk":"1.0.3"},"time":1501469230058}"
     9     val jsonS = JSON.parseFull(str)
    10     val first = regJson(jsonS)
    11     // 获取一级key
    12     println(first.get("host"))
    13     // 获取二级key
    14     val dev = first.get("device")
    15     println(dev)
    16     val sec = regJson(dev)
    17     println(sec.get("tid").toString.replace("Some(","").replace(")",""))
    18   }

    运行结果

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

     

    • GSON包

        导入包    

        import com.google.gson.{JsonObject, JsonParser}
     1 def main(args: Array[String]): Unit = {
     2 
     3     gson("{"host":"td_test","ts":1486979192345,"device":{"tid":"a123456","os":"android","sdk":"1.0.3"},"time":1501469230058}")
     4 
     5   }
     6 
     7   def gson(str: String) ={
     8     val json = new JsonParser()
     9     val obj = json.parse(str).asInstanceOf[JsonObject]
    10     println(obj.get("device"))
    11     println(obj.get("ts"))
    12   }

    运行结果:

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

  • 相关阅读:
    下载并使用ASP.NET MVC v1.0 Futures
    关于DataGridView的数据源两个值得注意的小问题
    C++网络编程(二)客户端服务器程序
    C++多态、继承的简单分析
    XML文件解析器TXml
    数组
    CTS类型系统
    光阴不会虚度
    软件的大规模生产
    微创新和山寨的关系
  • 原文地址:https://www.cnblogs.com/anitinaj/p/7278726.html
Copyright © 2011-2022 走看看