我想使用JsonBuilder创建以下JSON。
"isOut": false,
"baleRun": {
"incData": true,
"appendCricket": [{
"min": 10,
"max": 32,
"price": "10"
}]
}
我尝试过以下代码来创建它: -
import groovy.json.*
def builder = new JsonBuilder()
def root = builder.baleRun{
incData true
builder.appendCricket [
{
min 10
max 32
price "10000"
}
]
}
获得以下错误: -
groovy.lang.MissingPropertyException: No such property: appendCricket for
class: groovy.json.JsonBuilder error.
知道怎么制作这个吗?
答案 0 :(得分: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()
答案 1 :(得分:1)
使用地图很容易创建它,就像@tim_yates建议的那样。
当然,也可以创建开始的方式。应该注意数组,参见:
def json = new groovy.json.JsonBuilder()
json {
isOut false
baleRun {
incData true
appendCricket( [
{
min 10
max 32
price "10000"
}
])
}
}
println json.toPrettyString()
快速尝试相同的在线 demo