您好我正在尝试在 groovy 中创建一个 json 对象列表
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,并且感觉在这里使用 groovy 类会使它的行为与我所期望的有点不同。我该如何解决这个问题?
提前致谢