简体   繁体   English

Groovy-从字符串构造json

[英]Groovy - Constructing json from String

I'm using Groovy, i've tried to create a simple function which will construct a Json object from a provided Json string, then i'm trying to print this string but unfortunate it's adding Square brackets to the output. 我使用的是Groovy,我尝试创建一个简单的函数,该函数将从提供的Json字符串构造一个Json对象,然后尝试打印此字符串,但不幸的是,它在输出中添加了方括号。

Here's a snippet from my code: 这是我的代码片段:

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());

And here's the output: 这是输出:

{id: '111'} {id:“ 111”}

[ "{id: '111'}" ] [“ {id:'111'}”]

It's returning an Array and not a pure Json. 它返回一个数组,而不是纯Json。

If you change your input to be valid json (with double quotes round the keys and values), you can do: 如果将输入更改为有效的json(在键和值两边加上双引号),则可以执行以下操作:

import groovy.json.*

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

To print 打印

{
    "id": "111"
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM