Groovy 如何阻止JsonSlurper将对象/贴图转换为数组?

Groovy 如何阻止JsonSlurper将对象/贴图转换为数组?,groovy,jsonslurper,Groovy,Jsonslurper,我有一个来自web服务的JSON响应项,如下所示: [ { "field1":"value", "field2":"value2", "field3":"value3", "field4":"value4" }, { "field1":"value", "field2":"value2", "field3":"value3", "field4":

我有一个来自web服务的JSON响应项,如下所示:

[
    {
        "field1":"value",
        "field2":"value2",
        "field3":"value3",
        "field4":"value4"
    },
    {
        "field1":"value",
        "field2":"value2",
        "field3":"value3",
        "field4":"value4"
    },
    ...
]
[{"field1":"value","field2":"value2","field3":"value3", "field4":"value4"},{...},...]
转换之前,我的响应字符串看起来正常(如下所示):

但是在我运行
def allData=new JsonSlurper().parseText(响应)

然后记录
allData
它似乎正在将我的对象转换为数组:

示例:

[["field1":"value","field2":"value2","field3":"value3", "field4":"value4"],[...],...]
有人知道为什么会这样吗

编辑:

导入:
import groovy.json.JsonSlurper

为将来遇到此问题的任何人澄清上面的评论(诚然很长):


那是一组地图。混淆源于JSON和Groovy之间字符串表示的差异,但底层数据结构已经正确。

您的输入正在转换为映射数组。你想要它变成什么?我想要一组地图。它正在被转换成一个数组(
{
vs
[
)map的groovy语法是[key:value]。这正是您想要的。撇开术语不谈,很明显我想要一个类似JSON的对象,它只是字符串表示(toString())您可以编写自己的方法来输出不同的字符串,但它不会改变底层数据结构是一组映射的事实。