json - Groovy - 从字符串构造 json

标签 json groovy jsonbuilder

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

关于json - Groovy - 从字符串构造 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33241342/

相关文章:

json - 如何解决由Many TO Many hibernate双向映射引起的json序列化器中的循环引用?

java - Jackson 多态类型处理 - 属性被丢弃

java - Facebook Messenger 不发送消息

mysql - 如何从一个字符串变量中提取唯一的嵌套变量名称?

grails - 导致GORM字段的类型转换导致验证失败

grails - 无法使用JsonBuilder引用局部变量

jenkins - 获取类的类名

json - 从 JsonSlurper 获取 Map 的唯一键

json - 在Groovy中使用jsonbuilder修改json

arrays - Groovy 简单 JSON 数组生成器