作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
"first_value", "second_key"->Map("second_first_key"->"second_firs-6ren">
我有一张这样的 map :
Map("first_key"->"first_value",
"second_key"->Map("second_first_key"->"second_first_value"))
Map("firstKey"->"first_value",
"secondKey"->Map("secondFirstKey"->"second_first_value"))
最佳答案
这应该做你想做的:
def convert(m: Map[String, Any]): Map[String, Any] = {
m.map {
case (k, v) =>
val k2 = toCamel(k)
val v2: Any = v match {
case s: String => s
case x: Map[String, Any] => convert(x)
}
k2 -> v2
}
}
def toCamel(s: String): String = {
val split = s.split("_")
val tail = split.tail.map { x => x.head.toUpper + x.tail }
split.head + tail.mkString
}
val m = Map("first_key"->"first_value",
"second_key"->Map("second_first_key"->"second_first_value"))
convert(m)
// Map(firstKey -> first_value, secondKey -> Map(secondFirstKey -> second_first_value))
关于scala - 将嵌套映射中的所有键转换为 Scala 中的驼峰式大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28956417/
如 this question适用于“大型”Visual Studio 和 Resharper,我也希望在 VS Code 中看到该功能。 滚动浏览 shortcut list对于 VS Code,我
我是一名优秀的程序员,十分优秀!