Как насчет чего-то подобного?
val prices = objectMapper
.readTree(json)
.fields()
?.asSequence() // 1
?.map { it.key.replace("_", " ") to it.value.asDouble() }
?.toMap() ?: hashMapOf() // 2
, если вы будете использовать asSequence
(1), позже вы сможете использовать карту для преобразования объекта так, как вы хотите.
Так как вы бы как избавиться от нуля в конце и просто иметь Map<String,Double>
в конце, вы можете использовать ?: hashMapOf()
в конце (2), чтобы вы «преобразовали» ноль в пустую карту