Как преобразовать строку Json в два списка - PullRequest
0 голосов
/ 06 ноября 2019

Как мне преобразовать строку 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",
          "ratio": "+1"
        },
        "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"
        },
        "sw": "Y"
      },
      "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"
        },
        "sw": "Y"
      },
      "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",
          "ratio": "0.5 / 1"
        },
        "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))
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...