Groovy-从字符串构造json

Groovy-从字符串构造json,json,groovy,jsonbuilder,Json,Groovy,Jsonbuilder,我正在使用Groovy,我试图创建一个简单的函数,它将从提供的Json字符串构造一个Json对象,然后我试图打印这个字符串,但不幸的是,它在输出中添加了方括号 以下是我的代码片段: def JsonBuilder ConstructJsonObject (jsonStr) { def jsonToReturn = new JsonBuilder(); def root = jsonToReturn(jsonStr); return jsonToReturn; } Str

我正在使用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"
}

你试过JSONSLUPER吗?如果要从字符串解析JSON: