Спасибо, ребята, за ваши ответы.
Проблема, с которой мы столкнулись, заключалась в преобразовании типа карты Scala в Gson.
Результат обработки с помощью библиотеки Gash HashMaps, созданной изКарты Scala отличаются.Включает в себя дополнительные поля и изменяет структуру JSON.
Решение - этот ответ для пользователей Java и для Scala: сначала выполните итерацию всех карт, преобразующихся в типы Java, например:
def toJavaConverter(objectLevelSubs: immutable.Map[String, AnyRef]): java.util.LinkedHashMap[String, Object] = {
val output = new java.util.LinkedHashMap[java.lang.String, Object]
objectLevelSubs.foreach {
case (k: String, v: List[Predef.Map[String, AnyRef]]) => output.put(k, v.map(toJavaConverter))
case (k: String, v: Predef.Map[String, AnyRef]) => output.put(k, toJavaConverter(v))
case (k: String, v: AnyRef) => output.put(k, v)
}
output}
И, наконец, преобразовать каждый элемент следующим образом.
val gson: Gson = new GsonBuilder().setPrettyPrinting().enableComplexMapKeySerialization().create()
val finalSubstitutionData: util.LinkedHashMap[String, AnyRef] = new util.LinkedHashMap[String, AnyRef]()
javaObjectLevelSubs.forEach{
case (k: String, v: String) => finalSubstitutionData.put(k, v)
case (k: String, a) => a match {case l: List[_] => finalSubstitutionData.put(k, l.map(gson.toJsonTree).asJava)}
}
Спасибо @Yepher и @ balexandre