阅读 102

scala json解析到case类

有时候,需要将从json文件读取程序配置设置,并同步到定义好的一些case类中,这个时候可以使用 io.circe解析json文件,并同步文件字段到定义好的case类


case class Config(
                 comment:String,
                 dir:String,
                 executors:Option[Int],
                 isOk:Option[Boolean],
                 isRequires:Boolean,
                 num:Int,
                 ratio:Double
                 )


object JsonDecoding {
  def decodingJson(): Unit = {
    var jsonStr:String =
      """{
        |"comment":"this is comment",
        |"dir":"this is dir",
        |"executors":10,
        |"isOk":true,
        |"isRequires":true,
        |"num":100,
        |"ratio":0.2,
        |"test":10000
        |}
        |
        |""".stripMargin

    println(jsonStr)

    import io.circe.parser._
    import io.circe.generic.auto._

    val decodeStr = decode[Config](jsonStr) match {
      case Left(msg) => throw new RuntimeException(
        s"""
          |===================
          |parser error ${msg}
          |""".stripMargin
      )
      case Right(source) => source
    }

    println(decodeStr)

  }
}

需要两个包:


      io.circe
      circe-core_2.11
      0.12.0-M3
    
    
      io.circe
      circe-parser_2.11
      0.12.0-M3
    
    
      io.circe
      circe-generic_2.11
      0.12.0-M3
    


原文:https://www.cnblogs.com/zhouyc/p/15042066.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐