Здравствуйте, я пытаюсь создать список объектов json в groovy.
List relClinicStatementList = []
for (BloodTestRow row in BTList){
def jsonListBuilder = new groovy.json.JsonBuilder()
def internalJson = jsonListBuilder{
'targetRelationshipToSource' {
'code' 'part-of'
'codeSystem' 'MG'
}
'observationResult'{
'observationFocus'{
'code' "${row.exam}"
'codeSystem' 'mobiguide'
'displayName' "${row.exam}"
}
'observationValue' {
'physicalQuantity' {
'value' "${row.value}"
'unit' "${row.unit}"
}
}
}
}
println jsonListBuilder.toPrettyString()
relClinicStatementList.add(internalJson)
}
И метод toPrettyString() правильно показывает структуру json, которую я хочу. Однако, если в конце цикла я попытаюсь распечатать все элементы, которые у меня есть в списке, следующим образом:
for (JsonBuilder entry in relClinicStatementList){
println entry.toPrettyString()
}
Я получаю, чтобы все элементы в моем списке relClinicalStatement были равны последним, которые я создал... Я чувствовал, что объявление нового JsonBuilder в каждом цикле предотвратит такое поведение... я что-то упустил? Должен признаться, что я пришел из Java, и у меня такое ощущение, что использование классных классов заставляет это вести себя немного иначе, чем я ожидаю. Как решить эту проблему?
заранее спасибо