我们可以使用JsonBuilder为以下JSON创建JSON吗?

avi*_*der 0 groovy json

我想使用JsonBuilder创建下面的JSON.

"isOut": false,
"baleRun": {
    "incData": true,
    "appendCricket": [{
        "min": 10,
        "max": 32,
        "price": "10"
    }]
}
Run Code Online (Sandbox Code Playgroud)

我试过下面的代码来创建它: -

import groovy.json.*

def builder = new JsonBuilder()
def root = builder.baleRun{                
    incData true
    builder.appendCricket [
    {
        min 10
        max 32      
        price "10000"
     }
    ]                     
 }
Run Code Online (Sandbox Code Playgroud)

得到以下错误: -

groovy.lang.MissingPropertyException: No such property: appendCricket for 
class: groovy.json.JsonBuilder error.
Run Code Online (Sandbox Code Playgroud)

知道如何制作这个吗?

tim*_*tes 6

最简单的方法是为所需的数据构建Map,然后将其传递给构造函数中的构建器:

import groovy.json.*

def data = [
    isOut: false,
    baleRun: [
        incData: true,
        appendCricket: [
            [min: 10, max: 32, price: '10']
        ]
    ]
]
def json = new JsonBuilder(data).toString()
Run Code Online (Sandbox Code Playgroud)