Spark中Map和Json字符串相互转换 | 您所在的位置:网站首页 › spark解析json字符串 › Spark中Map和Json字符串相互转换 |
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 } }
|
CopyRight 2018-2019 实验室设备网 版权所有 |