scala - 将字符串转换为映射

标签 scala

给定一个字符串:{'Name':'Bond','Job':'Agent','LastEntry':'15/10/2015 13:00'}

我想把它解析成Map[String,String],我已经试过了this answer但当字符 : 位于解析值内时它不起作用。 ' 字符也一样,它似乎破坏了每个 JSON 映射器...

感谢您的帮助。

最佳答案

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

在这里,我们通过第一次出现的 ":" 拆分每个键值。此外,这是一个强有力的假设,因为 key 不包含任何 ":"

关于scala - 将字符串转换为映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34062414/

相关文章:

scala - '1.narrow' 的类型

scala - Apache Spark在SQL表达式中启动

scala - 是否可以在 Actor 内发出 Akka HTTP 核心客户端请求?

scala - 为什么 "lazy"是关键字而不是标准库类型?

scala - 如何在 Scala 中测试对象的私有(private)方法

尝试使用 ProGuard 优化 Java+Scala 时出现 java.lang.StackOverflowError

scala - 如何在 Scala 中使用 for 代替 flatMap/map?

scala - 如何缩小状态机编码中上限类型参数的类型?

使用 float 时,Scala foldLeft 性能比 for 循环差 4 倍

scala - 如何在Scala中获取方法列表