Groovy - 从字符串构造 json

Groovy - Constructing json from String

我正在使用 Groovy,我试图创建一个简单的函数,它将根据提供的 Json 字符串构造一个 Json 对象,然后我正在尝试打印此字符串,但不幸的是它在输出中添加了方括号。

这是我的代码片段:

def JsonBuilder ConstructJsonObject (jsonStr) {
    def jsonToReturn = new JsonBuilder();
    def root = jsonToReturn(jsonStr);
    return jsonToReturn;
}

String jsonStr = "{id: '111'}";
println(jsonStr);
def jsonObject = ConstructJsonObject(jsonStr);
println(jsonObject.toPrettyString());

这是输出:

{id: '111'}

[ “{id: '111'}” ]

它返回一个数组而不是一个纯 Json。

如果您将输入更改为有效 json(键和值用双引号括起来),您可以:

import groovy.json.*

String jsonStr = '{"id": "111"}'
println new JsonBuilder(new JsonSlurper().parseText(jsonStr)).toPrettyString()

打印

{
    "id": "111"
}