如何将JSON字符串转换为两个列表。
listA
可以获取密钥。
ex. listA[0] //"W3",listA[1] //"T1G"
listB
可以获取价值。
ex. listB[0] //[{"key":"W3H","ior": "2.150","ratio": "+1","sw": "Y"},{"key":"W3C","ior": "2.840","ratio": "-1","sw": "Y"}] .
我的JSON字符串就像。
{
"RatioData": [
{
"W3": {
"W3H": {
"ior": "2.150","ratio": "+1"
},"W3C": {
"ior": "2.840","ratio": "-1"
},"W3N": {
"ior": "3.300","sw": "Y"
},"T1G": {
"T1G6": {
"ior": "11.500"
},"T1G5": {
"ior": "10.500"
},"T1G4": {
"ior": "7.900"
},"T1G3": {
"ior": "5.200"
},"T1G2": {
"ior": "4.350"
},"T1G1": {
"ior": "3.100"
},"T1GN": {
"ior": "7.900"
},"RC": {
"RCFN": {
"ior": "0"
},"RCLH": {
"ior": "0"
},"RCFH": {
"ior": "0"
},"sw": "N"," RCLC": {
"ior": "0"
}," RCFC": {
"ior": "0"
}
},"HM": {
"HMH": {
"ior": "5.6"
},"HMN": {
"ior": "2.01"
},"HMC": {
"ior": "2.35"
},"HR": {
"HRH": {
"ior": "1.03","ratio": "0 / 0.5"
},"sw": "Y","HRC": {
"ior": "0.85","ratio": "0 / 0.5"
}
},"HOU": {
"HOUH": {
"ior": "1.08","ratio": "0.5 / 1"
},"HOUC": {
"ior": "0.8","sw": "Y"
}
}
]
}
我已经尝试过了,但是结果不是我想要的。
val type = object : TypeToken<MutableMap<String,Any>>(){}.type
var mapList:MutableList<MutableMap<String,Any>> = mutableListOf()
rationDataList.forEach { rationDataList ->
mapList.add(Gson().fromJson(Gson().toJson(rationDataList),type))
}