如何在Groovy中从变量设置字符串数组

如何在Groovy中从变量设置字符串数组,groovy,Groovy,我有以下代码: String[] arr = [ "Cat", "Dog", "Horse" ] String payload = """ { "Data" : ${arr} } """ 我的最终目标是获得如下有效载荷: {"Data":["Cat", "Dog", "Horse"]} 但我得到的结果是: {"Data":[Cat, Dog, Horse]} 我怎样才能解决这个问题呢?所以我一直做错了

我有以下代码:

String[] arr = [
            "Cat",
            "Dog",
            "Horse"
    ]

String payload = """
{
    "Data" : ${arr}
}
"""
我的最终目标是获得如下有效载荷:

{"Data":["Cat", "Dog", "Horse"]}
但我得到的结果是:

{"Data":[Cat, Dog, Horse]}

我怎样才能解决这个问题呢?

所以我一直做错了,在朋友的帮助下找到了解决方案:

String payload = """
{
    "Data" : ${JsonOutput.toJson(arr)}
}
"""

常规的方法是

String[] arr = [
            "Cat",
            "Dog",
            "Horse"
    ]
String payload = groovy.json.JsonOutput.toJson( Data:arr )

assert '{"Data":["Cat","Dog","Horse"]}' == payload
不要部分生成JSON。生成整个内容:
JsonOutput.toJson([Data:[“foo”、“bar”、“baz”]])