使用Groovy生成JSON

use*_*135 0 groovy json

我试图在Groovy中生成以下JSON结构,但没有得到我想要的输出。

{
    "settings": [
        {
            "location": "remote",
            "stance": "cold"
        },
        {
            "spareParts": {
                "id": "123" {
                "info": "In stock"
             }
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

Jon*_*oni 5

首先,当前问题中的JSON无效。:)其次,由于Groovy为此提供了强大的支持,因此它不必难看。:)

您可以使用闭包,地图或组合,请参见以下示例:https : //github.com/jonatan-ivanov/groovy-training/blob/master/examples/050_JsonBuilder.groovy

这是使用地图的(我认为)JSON的示例:

builder = new groovy.json.JsonBuilder(
    settings: [
        [
            location: 'remote',
            stance: 'cold'
        ],
        [
            spareparts: [
                id: '123',
                info: 'In stock'
            ]
        ]
    ]
)

println builder.toPrettyString()
Run Code Online (Sandbox Code Playgroud)

这是它的输出:

{
    "settings": [
        {
            "location": "remote",
            "stance": "cold"
        },
        {
            "spareparts": {
                "id": "123",
                "info": "In stock"
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)