Scala中json格式、字符串、map相互转换
发布时间:2020-12-16 09:04:07 所属栏目:安全 来源:网络整理
导读:json对象转换为json字符串: import org.json4s.{Formats,NoTypeHints}import org.json4s.jackson.Serializationimport org.json4s.jackson.Serialization.writecase class userLableLike(id:String,pos:Float,neg:Float,seg:Double) def userLable2Str(data
json对象转换为json字符串: import org.json4s.{Formats,NoTypeHints} import org.json4s.jackson.Serialization import org.json4s.jackson.Serialization.write case class userLableLike(id:String,pos:Float,neg:Float,seg:Double) def userLable2Str(data:userLableLike): String ={ // 需要添加隐式转换 implicit val formats:AnyRef with Formats = Serialization.formats(NoTypeHints) // 由scala对象转换为Json字符串 val dstr = write(data) dstr } val v1 = userLableLike("1",100,0.5) println(userLable2Str(v1)) // "{id: 1,pos: 100,neg: 100,seg: 0.5}"
json字符串转换成map: import scala.util.parsing.json.JSON // 把json格式的字符串转换成map格式,(id:String,seg:Double) def str2map(vstr:String): collection.immutable.Map[String,Any] ={ val vSome = JSON.parseFull(vstr) // println(vSome,manOf(vSome)) //(Map(id -> 1,pos -> 100.0,neg -> 100.0,seg -> 0.5),Any) // 转换类型 var vmap = vSome match { case Some(map:collection.immutable.Map[String,Any]) => map } // println(vmap("id"),manOf(vmap)) //(1,scala.collection.immutable.Map[java.lang.String,Any]) vmap } //注意用可变集合collection.mutable.Map[String,Any] ,行不通 //查看数据类型方法-manOf(data) def manOf[T:Manifest](t:T):Manifest[T]=manifest[T] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |