Parsing can';不要让Groovy ConfigSlurper解析字符串并将结果作为属性查找
让Parsing can';不要让Groovy ConfigSlurper解析字符串并将结果作为属性查找,parsing,groovy,configuration-files,Parsing,Groovy,Configuration Files,让ConfigSlurper处理我的配置时,我遇到了一个非常简单的问题 Groovy版本2.5.6 回到基础并尝试了以下简单的Groovy脚本: ConfigSlurper slurper = new ConfigSlurper () slurper.parse ("""host='localhost' """) println slurper.getProperty('host') /* gives exception : Caught: groovy.lang.MissingPr
ConfigSlurper
处理我的配置时,我遇到了一个非常简单的问题
Groovy版本2.5.6
回到基础并尝试了以下简单的Groovy脚本:
ConfigSlurper slurper = new ConfigSlurper ()
slurper.parse ("""host='localhost' """)
println slurper.getProperty('host')
/* gives exception :
Caught: groovy.lang.MissingPropertyException: No such property: host for class: groovy.util.ConfigSlurper
groovy.lang.MissingPropertyException: No such property: host for class: groovy.util.ConfigSlurper
at scripts.testSSlurper.run(testSSlurper.groovy:7)
*/
为什么这个简单的解析没有失败
我做错了什么?这是我编写的解析文件的真实代码的拦截器,它似乎也没有将任何内容绑定到slurper中。您的代码示例中有一个误解。解析配置脚本不会改变
ConfigSlurper
对象,而是返回ConfigObject
。您只需捕获slurper.parse(script)
方法的结果,并从返回的ConfigObject
实例访问host
键
ConfigSlurper slurper = new ConfigSlurper()
def config = slurper.parse(""" host = 'localhost' """)
println config.getProperty("host")
输出:
localhost
我如何处理变量…这意味着如果变量中有{host=“localhost”},比如“str”?!localhost在“双引号”中。。我们如何访问像{users{username=“User”}}这样的嵌套元素来回答我自己的评论:首先使用.replaceAll(“\”,“\”)将“”替换为“”,然后访问像config.porperty.subperty.subperty这样的元素。。。