我需要使用groovy的JsonBuilder()来构建以下json。
[
{
"date": "2017-12-08",
"dog": [
{
"name": "Joe",
"age": "1"
},
{
"name": "Bro",
"age": "2"
},
{
"name": "Doe",
"age": "3"
}
]
}
]
我无法在数组中获取数组,因为日期,它总是希望date
与dog数组不在同一级别,而是将它放在{}中,如:
[{
{
"date": "2017-12-08",
},
"dog": [
{
"name": "Joe",
"age": "1"
},
{
"name": "Bro",
"age": "2"
},
{
"name": "Doe",
"age": "3"
}
]
}
]
答案 0 :(得分:2)
只需将日期与您的列表一起放在模型中:
import groovy.json.JsonBuilder
import groovy.transform.Canonical
@Canonical
class Dog {
int age
String name
}
@Canonical
class DogList {
String date
List<Dog> dog
}
def ark = [
new DogList('2017-12-08', [
new Dog(1, 'Joe'),
new Dog(2, 'Bro'),
new Dog(3, 'Doe')
])
]
def json = new JsonBuilder(ark).toPrettyString()
println json
打印:
[
{
"date": "2017-12-08",
"dog": [
{
"age": 1,
"name": "Joe"
},
{
"age": 2,
"name": "Bro"
},
{
"age": 3,
"name": "Doe"
}
]
}
]