0
我有2個問題與JsonBuilder。我已經通過研究嘗試了一切。這是我解決這個問題時最接近的,但這是不對的。Groovy 2 JsonBuilder嵌套可重複關聯
- 陣列天和議程不具有功能 - 他們出來作爲非數組。
- 由於某種原因,第2天的議程數據即將出現在第1天的議程結構中。基礎數據是正確的。
這裏是建築
def root = builder.output {
days {
for (Day day : model.days) {
"$day.name" {
agendas {
for (Agenda agenda : day.agendas) {
"$agenda.name" {
name agenda.name
}
}
}
}
}
}
}
JSON
{ "output": {
"days": {
"Day 1": {
"agendas": {
"Day 2 Agenda B": {
"name": "Day 2 Agenda A"
},
"Day 2 Agenda A": {
"name": "Day 2 Agenda A"
}
}
},
"Day 2": {
"agendas": {
"Day 2 Agenda B": {
"name": "Day 2 Agenda A"
},
"Day 2 Agenda A": {
"name": "Day 2 Agenda A"
}
}
}
}
}}
什麼我後:
{ "output": {
"days": [
{
"name": "Day 1",
"agendas": [
{
"name": "Day 1 Agenda A"
},
{
"name": "Day 1 Agenda B"
}
]
},
{
"name": "Day 2",
"agendas": [
{
"name": "Day 2 Agenda A"
},
{
"name": "Day 2 Agenda B"
}
]
}
]
}}
我認爲你可以做,沒有'收集()'。只需使用'days(days){day->'。另外[name:day.name]這將創建後來轉換爲JSON的地圖。相反,你可以使用DSL – faskunji