使用对象映射器(在kotlin中)从S3向数据类读取无键名的json文件(约180 MB)

使用对象映射器(在kotlin中)从S3向数据类读取无键名的json文件(约180 MB),kotlin,amazon-s3,objectmapper,data-class,jsonnode,Kotlin,Amazon S3,Objectmapper,Data Class,Jsonnode,s3中的json示例如下所示: {"380682":{"ids":[380682, 765894, 9875086]},"1995539":{"ids":[1995539, 234567, 987654]}} 我想将其映射到活动列表,其中: data class Activities( val key: String, val values: List<String> ) 数据类活动(

s3中的json示例如下所示:

{"380682":{"ids":[380682, 765894, 9875086]},"1995539":{"ids":[1995539, 234567, 987654]}}
我想将其映射到活动列表,其中:

data class Activities(
    val key: String,
    val values: List<String>
)
数据类活动(
val键:字符串,
val值:列表
)
我的应用程序要求我仅使用对象映射器

目前我是这样做的,但时间太长了:

val activitiesList = mutableListOf<Activities>()
    val response: Map<String, Map<String, List<String>>>
    val reader: Reader = InputStreamReader(S3ObjectInputStream, StandardCharsets.UTF_8)
    val jsonNode: JsonNode

    reader.use { jsonNode = objectMapper.readTree(it) }
    response = objectMapper.convertValue(jsonNode, object : TypeReference<Map<String, Map<String, List<String>>>>() {})

    for ((key, value) in response) {
        value.get("ids")?.let {
            Activities(
                key = key,
                values = it)
        }?.let { ActivitiesList.add(it) }
val activitiesList=mutableListOf()
val响应:Map
val reader:reader=InputStreamReader(S3ObjectInputStream,StandardCharsets.UTF_8)
val jsonNode:jsonNode
reader.use{jsonNode=objectMapper.readTree(it)}
response=objectMapper.convertValue(jsonNode,对象:TypeReference(){})
for((键、值)响应){
value.get(“id”)?.let{
活动(
键=键,
值=it)
}?.让{ActivitiesList.add(it)}

请建议一种更快更干净的方法…

解析它需要多长时间?很长,它永远不会完成,我会得到一个超时。想要一种方法来分块数据并解析。。。