Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有多个字的Groovy properties/config_Groovy - Fatal编程技术网

具有多个字的Groovy properties/config

具有多个字的Groovy properties/config,groovy,Groovy,我希望我的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

我希望我的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,则会导致潜在的regexp问题)。

如果使用“full”,则可以在配置文件中分配这些内容表达式而不是嵌套平面定义:

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'

为我工作!非常感谢!