【问题标题】:Scala Map OptionScala 映射选项
【发布时间】:2018-12-19 10:55:13
【问题描述】:

我在 scala 中有一张这样的地图。

val someData = Some(Map(genderKey -> gender,agekey -> age))

如何得到输出为:

 val key= genderkey 
 val value= gender
 val key2 =  agekey (Dynamic variable name)
 val value2= age (Dynamic variable name)

【问题讨论】:

  • 到目前为止你有什么尝试?
  • val output = somdata.mapValues(x => if (x.isInstanceOf[Map[String, Any]]) Some(x) else x) val valueToField = output("fieldname").asInstanceOf [选项[地图[字符串,字符串]]].get。在我没有太多想法之后,让它变得动态
  • 西蒙的回答对你有用吗? (someData.map(_.map( case (k, v) => s"val $k = $v")))
  • 我尝试过,但没有按照我的需要以动态方式工作
  • 这到底是什么意思?我不明白您所说的“以动态方式”是什么意思。它的“动态”是什么?

标签: json scala scala-collections jackson-databind


【解决方案1】:

像这样

someData.map(_.map { 
    case (k,v) => s"$k = $v" 
}
.mkString(" and \n"))
.foreach(result => println(result))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-27
    • 2023-03-19
    • 1970-01-01
    • 2016-03-12
    • 2021-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多