2016-09-21 131 views
0

我得在常规列表中的列表,可以说:双引号添加到字符串

[one, two, three] 

现在我想双引号添加到这个阵列的字符串,这样做最终的结果将是:

["one", "two", "three"] 

请注意,我也希望包括方括号。我怎样才能以最全面的方式在Groovy中做到这一点?

编辑:我使用Groovy模板的HTML代码中,我只是想在我上面

+0

你尝试过这么远吗?另外,如果你需要某种类型的(反)序列化,那么不要使用toString,检查,... - 去寻找一些东西,这实际上取决于任务。 – cfrick

+0

我在html代码中使用groovy模板,我只是想要一个我上面提到的格式的字符串。 'inspect()'方法增加了单引号,而不是双打 – ThanosFisherman

回答

2

,如果您有:

def list = ['one', 'two', 'three'] 

然后,你可以这样做:

List modifiedList = list.collect{ '"' + it + '"'} 

输出:["one", "two", "three"]

+0

太棒了!这是我一直在寻找的答案。简单而直接的感谢 – ThanosFisherman

+0

Groovier也许 - “\”$ it \“” –

1

这样描述的确切格式的字符串,如果您有:

def list = ['one', 'two', 'three'] 

然后,你可以这样做:

String strList = list.inspect() 

以获取列表报价,用方括号

一个alt ernative也将做到:

String strList = new groovy.json.JsonBuilder(list).toString() 

,这将给你相同,但以JSON格式(带双引号)

+0

几乎在那里。 inspect()方法向字符串添加单引号。要试试json的东西 – ThanosFisherman

+0

@ThanosF上面的代码的工作原理如上所述。如果您遇到错误,请将您的错误添加到问题中。 “不起作用”不足以帮助你。 – cfrick

+0

我在html代码中使用groovy模板,我只是想要一个字符串在我上面描述的确切格式。正如我所说的,'inspect()'方法增加了单引号而不是双精度,而JsonBuilder类在groovy模板中不存在。 – ThanosFisherman

-1

由于inspect()方法添加单引号,而不是在常规模板双打出于某种原因,我想出了最好的解决办法是这样的

${myList.inspect().replaceAll("\'", "\"")} 

输出: ["one", "two", "three"]

我的解决方案一起Prakash解决方案是唯一为我工作的解决方案。