Вместо отображения списка, сверните его:
def mergeJObjects(containers: List[JObject]): JObject = {
containers.foldLeft(JObject())((merged, next) => merged.merge(next))
}
То, что вы написали выше, является синтаксическим сахаром для этого:
val fullJsonObject = JObject()
val singleObject = containers.map { container =>
val fullObj = fullJsonObject.merge(container)
fullObj
}
fullJsonObject
По сути, вы отображаете контейнерысписок, и для каждого контейнера вы объединяете его с пустым объектом JSON (fullJsonObject
).Следовательно, singleObject
ничем не отличается от containers
;это список ваших оригинальных объектов JSON.Более того, поскольку fullJsonObject
является неизменным пустым JObject
, вы просто возвращаете пустой объект JSON в конце вашего метода.