在Kotlin中迭代JSON的最佳方法

时间:2017-08-22 07:03:55

标签: json kotlin

我的一个Kotlin方法接收类似于以下的json字符串:

{
    "12": {
        "1": {
            "a": "0",
            "b": "100",
            "c": "8",
            "d": ""
        },
        "5": {
            "a": "0",
            "b": "100",
            "c": "8",
            "d": ""
        }
    }
    "53": {
        "1": {
            "a": "0",
            "b": "100",
            "c": "8",
            "d": ""
        },
        "5": {
            "a": "0",
            "b": "100",
            "c": "8",
            "d": ""
        }
    }
}

迭代这个json的最佳方法是什么?我不认为将它映射到数据对象是最好的解决方案,因为它看起来像一个关联数组。

有关于此的任何提示吗?我怎样才能像数组一样迭代它?

1 个答案:

答案 0 :(得分:0)

我找到了一个将JSON映射到Maps的通用结构的解决方案,如下所示:

import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import com.fasterxml.jackson.module.kotlin.readValue

...

val JSON = jacksonObjectMapper()
val test: Map<String, Map<String, Map<String,String>>> = JSON.readValue(jsonString)