1
在類型安全配置的例子要求你知道一個路徑來指定字面上,例如:如何從java類型安全配置中檢索嵌套值?
config1.getString("complex-app.something")
我需要能夠解析與自由形式的標籤一個配置文件的地方。我該如何處理。
說,我有HOCON這樣的:
root : {
a : { x: 1, y: 2 },
b : { x: 2, z: 3 }
}
不知道什麼鍵都在該文件中,我怎麼能找到有鑰匙「a」和「b」和該對象的值鍵'a'有'x'和'y'鍵,'b'鍵有'x'和'z'鍵?
這裏是不是做這件事:
Config config = ConfigFactory.load("configula");
Config root = config.getObject("root").toConfig();
for (Entry<String, ConfigValue> e: root.entrySet()) {
// The key is a.x, a.y etc. ??!?
// The value is not a map-like thing
}
隨着條目集的是一個路徑的鑰匙,我要解析路徑查找鍵是,這是非常接近製作使用StringTokenizer等簡單地解析文本文件更容易。
什麼是解析嵌套對象的配置方式?例如,Groovy和ConfigSlurper相似的結構:
root {
a {
x = 1
y = 2
}
b {
x = 2
z = 3
}
}
會被解析如下:
cfg = new ConfigSlurper().parse(new File('configula.config'))
cfg.root.each { k, r ->
r.each { kk, v ->
println "${k}, ${kk} -> ${v}"
}
}
的事情我已經想盡組合的價值是一個ConfigValue結束。有沒有辦法獲得映射到自身包含映射到對象的鍵的對象的鍵樹?