1. Map转JsonString
Map转Json的String,首先在pom中添加json4s-native的依赖,一般使用如下方式就可以得到结果
import org.json4s.jackson.JsonMethods._
object Test {
def main(args: Array[String]): Unit = {
val mapTest = Map("a" -> "1", "b" -> 2)
println(compact(render(mapTest)))
}
}
但有时会提示类型不匹配,这时需要使用
Extraction.decompose
对类型进行转换,同时需要使用
DefaultFormats
的默认格式
import org.json4s._
import org.json4s.jackson.JsonMethods._
object Test {
def main(args: Array[String]): Unit = {
val mapTest = Map("a" -> "1", "b" -> 2)
println(compact(render(Extraction.decompose(mapTest)(DefaultFormats))))
}
}
2. JsonString转Map
转Map时,首先要保证JsonString的格式是正确的,需要自定义一个regJson方法,代码如下
import scala.util.parsing.json.JSON
object Test {
def main(args: Array[String]): Unit = {
val jsTest = "{\"a\":1, \"b\":\"2\"}"
println(regJson(JSON.parseFull(jsTest)))
}
def regJson(json:Option[Any]):Map[String,Any] = json match {
case Some(map:Map[String,Any]) => map
}
}
参考:https://blog.csdn.net/cuiyang0720/article/details/98600131