我希望我的groovy配置看起来像:
plans {
'Plan 1'='123'
'Plan 2'='456'
}
我如何用groovy解析它,以便我可以访问它类似于:
def config = new ConfigSlurper().parse(data)
assert config.plans.'Plan 1' == '123'
assert config.plans.'Plan 2' == '456'
不幸的是我收到错误:
[Plan 1] is a constant expression, but it should be a variable expression at line...
我没有修复ConfigSlurper或数据的格式,但我想将每个作为字符串引用多个单词和可能的特殊字符,如*,^等(因此如果regexp导致潜在的正则表达式问题)用过)。
答案 0 :(得分:3)
如果使用“完整”表达式而不是嵌套计划定义,则可以在配置文件中分配这些内容:
plans.'Plan 1' = '123'
plans.'Plan 2' = '456'
plans.'Plan *' = '789'
不是很漂亮,但是你可以参考它们:
def config = new ConfigSlurper().parse(data)
assert config.plans.'Plan 1' == '123'
assert config.plans.'Plan 2' == '456'
assert config.plans.'Plan *' == '789'