I made a pretty cute way to traverse JSON with known structure without mapping to an object
Copy code
private tailrec fun <T> traverse(map: Map<*, T?>, i: Int, vararg keys: String): T? {
var _i = i
val value = map[keys[_i]] ?: return null
if (i == keys.size - 1) return value
return traverse(value as Map<*, T?>, ++_i, *keys)
}