Лучший способ объединить два JSON - PullRequest
4 голосов
/ 07 ноября 2019

У меня есть список, и я хочу объединить их в один JSON. Какой метод самый лучший?

Я уже пробовал это, но структура данных мне не нужна.

val list = mutableListOf<FakerData>()

        val jsonA = FakerData()
        val jsonB = FakerData()

        list.add(jsonA)
        list.add(jsonB)

JSON A

{
  "R": {
    "RC": {
      "odd": "0.97",
      "ratio": "2.5 / 3"
    }
  }
}

JSON B

{
  "R": {
    "RH": {
      "odd": "0.82",
      "ratio": "2.5 / 3"
    }
  }
}

Я хочу объединить, и структура данных будет такой.

{
  "R": [
    {
      "RC": {
        "odd": "0.9",
        "ratio": "0 / 0.5"
      }
    },
    {
      "RH": {
        "odd": "0.94",
        "ratio": "0 / 0.5"
      }
    }
  ]
}

1 Ответ

0 голосов
/ 07 ноября 2019
     JSONObject jsonA=new JSONObject("{\"R\": {\n" +
                "    \"RC\": {\n" +
                "      \"odd\": \"0.97\",\n" +
                "      \"ratio\": \"2.5 / 3\"\n" +
                "    }\n" +
                "  }\n" +
                "}");
        JSONObject jsonB=new JSONObject("{\"R\": {\n" +
                "    \"RC\": {\n" +
                "      \"odd\": \"0.97\",\n" +
                "      \"ratio\": \"2.5 / 3\"\n" +
                "    }\n" +
                "  }\n" +
                "}");

        JSONArray jsonArray=new JSONArray();
        jsonArray.put(jsonA);
        jsonArray.put(jsonB);

Выход:

[{"R":{"RC":{"odd":"0.97","ratio":"2.5 \/ 3"}}},{"R":{"RC":{"odd":"0.97","ratio":"2.5 \/ 3"}}}]
...