我正在使用Groovy,我试图创建一个简单的函数,它将从提供的Json字符串构造一个Json对象,然后我试图打印这个字符串,但不幸的是它&#39 ; s将方括号添加到输出中。
这是我代码中的一个片段:
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。
答案 0 :(得分:5)
如果您将输入更改为有效的json(使用双引号围绕键和值),您可以执行以下操作:
import groovy.json.*
String jsonStr = '{"id": "111"}'
println new JsonBuilder(new JsonSlurper().parseText(jsonStr)).toPrettyString()
打印
{
"id": "111"
}