Let bauen sagen, dass ich eine Config-Datei mit folgendem habe:Wie man eine Karte von Listen der Karte von Typ sicher config in scala
someConfig: [
{"t1" :
[ {"t11" : "v11",
"t12" : "v12",
"t13" : "v13",
"t14" : "v14",
"t15" : "v15"},
{"t21" : "v21",
"t22" : "v22",
"t23" : "v13",
"t24" : "v14",
"t25" : "v15"}]
},
"p1" :
[ {"p11" : "k11",
"p12" : "k12",
"p13" : "k13",
"p14" : "k14",
"p15" : "k15"},
{"p21" : "k21",
"p22" : "k22",
"p23" : "k13",
"p24" : "k14",
"p25" : "k15"}]
}
]
Ich möchte es als Scala unveränderliche Sammlung Karte abrufen [Liste [Karte [Zeichenfolge, Zeichenfolge]]].
mit dem folgenden Code kann ich nur abrufen, wie eine Liste von HashMaps (genauer gesagt ein $ Doppelpunkt Doppelpunkt von HashMap), die fehlschlägt, wenn ich versuche, durch es durchlaufen. Im Idealfall muss meinen Code vervollständigen ich einen Weg, um die HashMap scala Karten sollten Sie in der Lage Dieser Code
def example: Map[String, List[Map[String,String]]] = {
val tmp = ConfigFactory.load("filename.conf")
val mylist : Iterable[ConfigObject] = tmp.getObjectList("someConfig")
.asScala
(for {
item : ConfigObject <- mylist
myEntry: Entry[String, ConfigValue] <- item.entrySet().asScala
name = entry.getKey
value = entry.getValue.unwrapped()
.asInstanceOf[util.ArrayList[Map[String,String]]]
.asScala.toList
} yield (name, value)).toMap
}