合并两个JSON的更好方法

时间:2019-11-07 10:08:11

标签: android json kotlin merge

我有一个列表,我想将它们合并为一个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 :(得分:0)

     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"}}}]