给定一个字符串:{'Name':'Bond','Job':'Agent','LastEntry':'15/10/2015 13:00'}
我想将其解析为Map[String,String]
,我已经尝试this answer但是当字符:
在解析后的值中时它不起作用。与'
字符相同,它似乎打破了每个JSON Mappers ......
感谢您的帮助。
答案 0 :(得分:3)
让
val s0 = "{'Name':'Bond','Job':'Agent','LastEntry':'15/10/2015 13:00'}"
val s = s0.stripPrefix("{").stripSuffix("}")
然后
(for (e <- s.split(",") ; xs = e.split(":",2)) yield xs(0) -> xs(1)).toMap
这里我们将第一次出现的":"
分开每个键值。此外,这是一个强有力的假设,因为密钥不包含任何":"
。
答案 1 :(得分:2)
您可以使用熟悉的jackson-module-scala来更好地实现这一目标。
例如:
val src = "{'Name':'Bond','Job':'Agent','LastEntry':'15/10/2015 13:00'}"
val mapper = new ObjectMapper() with ScalaObjectMapper
mapper.registerModule(DefaultScalaModule)
val myMap = mapper.readValue[Map[String,String]](src)