Seb*_*ner 1 collections scala scala-collections
我有一个List的Map,每个含有三个键/值对:
List(
Map("id" -> 1, "key" -> 11, "value" -> 111),
Map("id" -> 2, "key" -> 22, "value" -> 222),
Map("id" -> 3, "key" -> 33, "value" -> 333),
Map("id" -> 4, "key" -> 44, "value" -> 444))
Run Code Online (Sandbox Code Playgroud)
我想将其转换为JSON,但在此之前,我需要key从每个地图中删除它的值并将value密钥重命名为title.如何在Scala中以优雅的方式完成此操作?
你可以这样做:
val m1 = Map("id" -> 1, "key" -> 2, "value" -> 3)
val m2 = m1 - "key" // Map(id -> 1, value -> 3)
val m3 = m2 + ("title" -> m2("value")) - "value"
// Map(id -> 1, title -> 3)
Run Code Online (Sandbox Code Playgroud)
所以,对于整个列表:
list.map(m => m + ("title" -> m("value")) - "value" - "key")
Run Code Online (Sandbox Code Playgroud)